Puc*_*ker 2 python python-asyncio python-3.7
这些功能有什么区别
create_task和call_sooncall_soon_threadsafe和run_coroutine_threadsafe这两个函数调度协程的执行,不是线程安全的。
create_task返回一个Task对象,和call_soon返回Handle一个对象,但是除此之外还有什么区别,特别是在用法上?
这两个函数应该从与运行事件循环的线程不同的操作系统线程调用。在大多数情况下,我可以使用其中任何一个。
create_taskvscall_soon- 这两个函数安排协程的执行
不,仅create_task安排协程(异步函数)的执行。call_soon安排普通函数的一次性执行。
因此,如果您x定义了一个async def想要“在后台”执行的协程,则可以调用asyncio.create_task(x()). f如果您定义了一个函数,def您希望在事件循环下次空闲时立即执行该函数,则可以调用loop.call_soon(f).
用法上的相同差异也适用于run_coroutine_threadsafe和call_soon_threadsafe,它允许从不同的线程将工作提交到正在运行的事件循环。
| 归档时间: |
|
| 查看次数: |
865 次 |
| 最近记录: |