简介
协程就是CPU中断
效果上类似生成器函数,yield会记录迭代位置和状态然而会中断执行。
关键字
python中Async模块实现协程操作。
Aysnc:定义协程函数。
await:挂起支持异步的操作
使用
async def p1():
print("比利1")
await asyncio.sleep(5)
print("比利2")
async def p2():
print("van1")
await asyncio.sleep(5)
print("van2")
async def p3():
print("hello1")
await asyncio.sleep(5)
print("hello2")
def main():
loop = asyncio.get_event_loop()
task = [
loop.create_task(p1()),
loop.create_task(p2()),
loop.create_task(p3())
]
loop.run_until_complete(asyncio.wait(task))
if __name__ == '__main__':
main()
复制代码
总结
单线程协程操作
1.async标记协程函数
2.await标记支持异步的阻塞方法
3.通过循环器生成任务列表,执行