Python——协程操作async


简介

  协程就是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.通过循环器生成任务列表,执行