我在init_worker_by_lua_block里面由timer spawn出来两个therad负责cosocket:read还有send,想请问是不是他们不是真正的thread,始终只有一个process在执行,他们除非yield其他的task 例如新进来的request并不会被处理?因为如果只有一个process,一些资源就不用在thread和handler之间同步了?谢谢! --
由timer spawn出来两个therad,他们都是“轻线程”,本质上他们都是协程。只不过他们的执行调度是“自动”的。由于这些 轻线程 都是在一个worker上创建的,所以很自然的,他们一定是运行在单个 process 上。2015-12-24 10:00 GMT+08:00 黄川 <chua...@gmail.com>:我在init_worker_by_lua_block里面由timer spawn出来两个therad负责cosocket:read还有send,想请问是不是他们不是真正的thread,始终只有一个process在执行,他们除非yield其他的task 例如新进来的request并不会被处理?因为如果只有一个process,一些资源就不用在thread和handler之间同步了?谢谢! -- -- MembhisMy github: https://github.com/membphisOur Book: OpenResty Best Practices