cpp api default_worker 是单线程 execution loop 执行任务?

看代码 core_worker.cc task_execution_service_ 是顺序从 inbound request 中取任务来执行。

如果一个任务执行时间很长,是由 raylet 调度分配到不同的 default_worker 去执行?

是的,串行执行的。
如果是actor task,会排队,当然python接口已经支持了concurrency能力,理论上cpp也能支持,即多线程。这个目前还没支持。
如果是normal task,会根据调度分配到不同的worker里。

为什么 SendReply 实在 thread_pool 上执行,不直接在 io_service 上

你说的是哪里?发下代码


server_call.cc