我正在尝试 asyncio 并且必须将它与一些普通的多线程阻塞代码混合,所以我需要使用 run_in_execector 卸载执行。
asyncio文档警告说“大多数函数”不是线程安全的,这call_soon_threadsafe
是唯一的线程安全函数。还有一些其他的,例如Future.add_done_callback
,也被明确记录为线程安全的。然后它后面有一句话说“你可以使用 run_in_executor 在其他线程中运行回调”,但没有具体评论它的线程安全性。
run_in_executor 文档不是线程安全的,但是查看源代码,如果采用正确的代码路径,它看起来是线程安全的。
有谁知道它是否应该是线程安全的,但只是没有记录是这样的吗?