简介

  协程就是CPU中断

    效果上类似生成器函数,yield会记录迭代位置和状态然而会中断执行。

关键字

  python中Async模块实现协程操作。

  Aysnc:定义协程函数。

  await:挂起支持异步的操作

使用

  1. async def p1():
  2. print("比利1")
  3. await asyncio.sleep(5)
  4. print("比利2")
  5. async def p2():
  6. print("van1")
  7. await asyncio.sleep(5)
  8. print("van2")
  9. async def p3():
  10. print("hello1")
  11. await asyncio.sleep(5)
  12. print("hello2")
  13. def main():
  14. loop = asyncio.get_event_loop()
  15. task = [
  16. loop.create_task(p1()),
  17. loop.create_task(p2()),
  18. loop.create_task(p3())
  19. ]
  20. loop.run_until_complete(asyncio.wait(task))
  21. if __name__ == '__main__':
  22. main()
  23. 复制代码

总结

单线程协程操作
1.async标记协程函数
2.await标记支持异步的阻塞方法
3.通过循环器生成任务列表,执行