是否保证Python方法的非异步部分不会在异步上下文中交错?

时间:2019-03-19 20:44:33

标签: python asynchronous

假设我的主线程上正在运行多个异步任务。

我在函数中使用'await'来允许一个函数的执行在阻塞调用时被挂起,以允许另一个函数继续执行。一切都很好。

但是,是否可以保证这些调用之间的代码段 将连续执行?

我想知道是否可以在异步调用之间对全局状态进行修改-而不必担心竞争条件吗?

1 个答案:

答案 0 :(得分:0)

是的

  

事件循环使用合作调度:事件循环一次运行一个任务。当Task等待完成Future时,事件循环将运行其他Task,回调或执行IO操作。

https://docs.python.org/3/library/asyncio-task.html