【发布时间】:2019-08-28 14:27:05
【问题描述】:
出于可读性原因,我可能会分解代码。所以
async coro_top():
print('top')
print('1')
# ... More asyncio code
print('2')
# ... More asyncio code
...变成类似
async coro_top():
print('top')
await coro_1()
await coro_2()
async coro_1()
print('1')
# ... More asyncio code
async coro_2()
print('2')
# ... More asyncio code
但是,额外的awaits 意味着它们不是严格等价的
另一个并发任务可以在
print('top')和print('1')之间运行代码,因此对于某些算法来说,竞争条件更有可能发生。产生事件循环有(大概)一点点开销
那么有没有办法在不产生事件循环的情况下调用协程来避免上述情况?
【问题讨论】:
标签: python python-3.x python-asyncio