User code(client-side done, server-side CallMethod) runs in bthreads with 1MB stacksize by default. But some of them cannot run in bthreads:
......
_brpc offers pthread mode to solve the issues. When -usercode_in_pthread is turned on, user code will be run in pthreads._ Functions that would block bthreads block pthreads.
Note: With -usercode_in_pthread on, brpc::thread_local_data() does not guarantee to return valid value.
Performance issues when pthread mode is on:
.....
User code still runs in special bthreads actually, which use stacks of pthread workers. These special bthreads are scheduled same with normal bthreads and performance differences are negligible.
https://brpc.apache.org/docs/server/basics/#pthread-mode
User code(client-side done, server-side CallMethod) runs in bthreads with 1MB stacksize by default. But some of them cannot run in bthreads:
...... _brpc offers pthread mode to solve the issues. When -usercode_in_pthread is turned on, user code will be run in pthreads._ Functions that would block bthreads block pthreads.
Note: With -usercode_in_pthread on, brpc::thread_local_data() does not guarantee to return valid value.
Performance issues when pthread mode is on: .....
User code still runs in special bthreads actually, which use stacks of pthread workers. These special bthreads are scheduled same with normal bthreads and performance differences are negligible.