• 10分钟 GET 新技能 - 协程

    • 1. 协程 是什么?
    • 2. 协程 的基本规则
    • 3. Python 流行库 gevent 中使用 协程

10分钟 GET 新技能 - 协程

1. 协程 是什么?

协程 即 Coroutine,又称微线程、纤程。单进程的异步编程模型称为协程。

2. 协程 的基本规则

由于IO过于耗时,协程可以在IO发生时把资源交给其他协程使用,IO结束时收回资源供自己使用。

3. Python 流行库 gevent 中使用 协程

from gevent import monkey;monkey.patch_all()
import gevent
import urllib2def f(url):print('GET: %s' % url)resp = urllib2.urlopen(url)data = resp.read()print('%d bytes received from %s.' % (len(data), url))gevent.joinall([gevent.spawn(f, 'https://www.httpbin.org/get?a=1'),gevent.spawn(f, 'https://www.httpbin.org/get?a=2'),gevent.spawn(f, 'https://www.httpbin.org/get?a=3')
])

打印结果是:


GET: https://www.httpbin.org/get?a=1
GET: https://www.httpbin.org/get?a=2
GET: https://www.httpbin.org/get?a=3
263 bytes received from https://www.httpbin.org/get?a=3.
263 bytes received from https://www.httpbin.org/get?a=2.
263 bytes received from https://www.httpbin.org/get?a=1.

版权声明:转载必须注明本文转自 East196 的博客:http://blog.csdn.net/east196

10分钟 GET 新技能 - 协程相关推荐

  1. 10分钟 GET 新技能 - 导言

    10分钟 GET 新技能 - 导言 1. 10分钟可以做什么? 2. 10分钟 GET 一个新技能,可能么? 3. 所以 ~~ 10分钟 GET 新技能 - 导言 1. 10分钟可以做什么? 10分钟 ...

  2. 10分钟 GET 新技能 - 正则表达式

    10分钟 GET 新技能 - 正则表达式 1. 正则表达式是什么? 2. 正则表达式的基本规则 3. Python 标准库 re 中使用 正则表达式 10分钟 GET 新技能 - 正则表达式 1. 正 ...

  3. 10分钟 GET 新技能 - XPath

    10分钟 GET 新技能 - XPath 1. XPath 是什么? 2. XPath 的基本规则 3. Python 流行库 lxml 中使用 XPath 10分钟 GET 新技能 - XPath ...

  4. 10分钟 GET 新技能 - JSON

    10分钟 GET 新技能 - JSON 1. JSON是什么? 2. JSON 的基本规则 3. Python 标准库 json 中使用 JSON 10分钟 GET 新技能 - JSON 1. JSO ...

  5. 10分钟 GET 新技能 - CSS选择器

    10分钟 GET 新技能 - CSS选择器 1. CSS选择器是什么? 2. CSS选择器 的基本规则 3. Python 流行库 BeautifulSoup 中使用 CSS选择器 10分钟 GET ...

  6. 10分钟 GET 新技能 - Markdown

    [TOC] 目录 一级标题 二级标题 三级标题 # 一级标题 一级标题 ## 二级标题 二级标题 ### 三级标题 三级标题 > 引用 引用 --- 横线 - 列表项 - 列表项 列表项 列表项 ...

  7. 在10分钟内在新Mac中设置Java开发环境(更新)

    这只是一个小的更新文章,它引用了2个较旧的条目( a , b ),我将它们合并为一个步骤,就像一步操作,并确保所有功能都在最新的MacOSX 10.9 Mavericks下工作 . 我主要针对的是初次 ...

  8. Unity应用架构设计(10)——绕不开的协程和多线程(Part 1)

    阅读目录 是否需要多线程? 协程的内部原理 小结 在进入本章主题之前,我们必须要了解客户端应用程序都是单线程模型,即只有一个主线程(Main Thread),或者叫做UI线程,即所有的UI控件的创建和 ...

  9. 5分钟完全掌握Python协程

    1. 协程相关的概念 1.1 进程和线程 进程(Process)是应用程序启动的实例,拥有代码.数据和文件和独立的内存空间,是操作系统最小资源管理单元.每个进程下面有一个或者多个线程(Thread), ...

最新文章

  1. TSC打印机DLL说明
  2. 1024 致敬极客精神,我们有一个3天的秘境邀请!
  3. 高程 第6章面向对象的程序设计 6.1 理解对象
  4. (一) 自带刷新的列表-LtRecyclerView v2.x版本(LtAdapter)(基本使用)
  5. 2017 php7 使用率,让PHP7达到最高性能的几个Tips
  6. 设置最大值_Power BI经典技巧:在走势图上标注最大值、最小值…
  7. 前台传递过来的参数遍历
  8. UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcd in position 0: invalid continuation byte
  9. Java初级工程师的面试自我介绍模板(仅供参考)
  10. html设置背景图片透明度代码,css设置图片背景透明度
  11. 使用Kinect2作为Oculus游戏应用的输入设备
  12. 听完计算机知识讲座后感悟,教师计算机培训感言
  13. 120帧手机动态壁纸_星空陨石动态壁纸手机版下载-星空陨石动态壁纸app安卓版下载v1.7最新版...
  14. XTUOJ-1299-String
  15. 读书笔记 | 牧羊少年奇幻之旅
  16. 中级经济师人力资源专业
  17. Java学习基础语法
  18. C语言中 真值/原码/补码/反码 的概念
  19. 遁迹-如何找寻图像在styleGAN2对应的latent code潜向量
  20. IBM虚拟化与云计算研究员吴玉会——虚拟化三大优势详解:共享、优化、管理...

热门文章

  1. Laravel框架上传文件到OSS
  2. 直通输出设备 android kodi,Kodi 17.0 正式版发布,开源软件媒体中心
  3. 项目管理中项目评审的五种类型
  4. 利用FFmpeg实现录屏、直播推流、音频视频格式转换、剪裁等功能
  5. python中输出1到1000以内的_Python程序-输出1000以内素数
  6. ros 机器人系统设计、urdf机器人建模
  7. 【23考研】计算机择校信息库-山西高校计算机相关专业22专业目录分类汇总(按专业课分类汇总)
  8. 【计算机毕业设计】基于微信小程序的付费自习室系统
  9. 「未来新生代」专栏:优客工场的逆商
  10. 多维度分析高频和超高频RFID技术区别