2018-03-12

python异步与协程

异步编程:

  • 异步I/O
  • selet/poll/epoll
  • 事件循环 + 回调
    • 共享状态管理困难
    • 错误处理困难

python 异步库

  • 基于协程的解决方案
  • Tornado
  • Twisted
  • asyncio
  • gevent
  • concurrent

asyncio

一、原理

  • 生成器:创建一个字计算下个值是不会浪费内存空间的迭代器

  • 协程: 可以暂停执行的函数

    ​ 利用生成器暂停的部分,将东西发送回生成器,就有了协程的概念

  • Future

  • Task

  • EventLoop

二、常用api

  • AbstractEventLoop.run_until_complete(*future*)

  • AbstractEventLoop.call_soon(*callback*, **args*)

  • AbstractEventLoop.call_later(*delay*, *callback*, **args*)

  • AbstractEventLoop.create_task(*coro*)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • title标题: A Web Crawler With asyncio Coroutinesauthor作者: A...
    彰乐乐乐乐阅读 6,438评论 0 8
  • 1 什么是异步编程 通过学习相关概念,我们逐步解释异步编程是什么。 1.1 阻塞 程序未得到所需计算资源时被挂起的...
    hugoren阅读 7,582评论 2 10
  • 上篇 中篇 下篇 1 什么是异步编程 1.1 阻塞 程序未得到所需计算资源时被挂起的状态。 程序在等待某个操作完成...
    秦时明星阅读 4,783评论 0 3
  • 人生就像一盘棋局,因为我们深陷其中,看不清事态结局,看不清人生百态。 人生短短几十载,眨眼间便过,抓住的,抓不住的...
    爱上一叶浮萍阅读 2,649评论 8 12
  • 以前看过一个叫《搭车去柏林》的纪录片,讲的是两个年轻人从北京出发,历经三个月13个国家近两万公里和无数艰难险阻,一...
    麋一样的鹿阅读 3,414评论 0 1

友情链接更多精彩内容