为什么我们需要 asyncio 同步原语,何时使用它们?

HIP*_* LD 9 python python-3.x python-asyncio

根据asyncio 同步原语,有多种同步方法。

  • 我很困惑为什么我们需要异步同步?
  • 我的意思是,asyncio 是异步的。
  • 在异步中添加一些同步有意义吗?

Mik*_*mov 12

同步原语不会使您的代码同步,它们使代码中的协程同步。

几个例子:

  • 您可能只想在另一个协程允许时启动/继续某些协程 ( asyncio.Event)
  • 您可能希望代码的某些部分仅由单个协程同时执行,而其他部分则等待轮到它们执行 ( asyncio.Lock)
  • 您可能希望代码的某些部分仅由有限数量的协程同时执行 ( asyncio.Semaphore)

看一下使用的实际示例asyncio.Semaphore