Python异步ansyc/await概念、用法

  • 异步、同步、阻塞、非阻塞

    《编程中的异步、同步、阻塞、非阻塞、并行、并发、回调概念》

  • IO

    同步异步、阻塞非阻塞,都是围绕着IO展开的概念。

    多线程和多进程的模型虽然解决了并发问题,但是系统切换线程的开销也很大。

    一种解决IO问题的方法是异步IO。当代码需要执行一个耗时的IO操作时,它只发出IO指令,并不等待IO结果,然后就去执行其他代码了。一段时间后,当IO返回结果时,再通知CPU进行处理。

    在“发出IO请求”到收到“IO完成”的这段时间里,同步IO模型下,主线程只能挂起,但异步IO模型下,主线程并没有休息,而是在消息循环中继续处理其他消息。这样,在异步IO模型下,一个线程就可以同时处理多个IO请求,并且没有切换线程的操作。

  • websocket

    socket编程中,本质是网络IO。

  • Reference

  1. 廖雪峰的官方网站
  2. asyncio官方文档
  3. 协程与任务 官方文档
  4. Python 3.5中async和await怎么会工作呢?
  5. Python async/await Tutorial
  6. Python async/await 入门
发布了871 篇原创文章 · 获赞 1322 · 访问量 97万+

猜你喜欢

转载自blog.csdn.net/The_Time_Runner/article/details/105477665