使用 asyncio.Event

2021-09-30  本文已影响0人  Lupino

这是我第一次使用 asyncio.Event, 在之前我使用 asyncio.Future,
Future.set_result 的时候 await 返回。
当我们要一个 state 的时候,需要用 一个 connected 和 Future 来配合使用。
今天发现,用 Event 可以完全解决这个问题,我们初始化一个 evt:

evt = asyncio.Event()

在状态改变的时候 evt.set() 即可,在另外一个地方 await evt.wait() 就可以等待完成后执行。

当状态变成另一种情况是, evt.clear() 就可以。

我们可以通过 evt.is_set() 来看执行的状态。

性能也会比 Future 来的更强。

上一篇 下一篇

猜你喜欢

热点阅读