• 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. VS2010下安装boost库
  2. flex 关键词过滤 2.5.35
  3. boost::array用法的测试程序
  4. ewebeditor在上传文件时,总是提示“请选择一个有效的文件”,
  5. 石头机器人红灯快闪_机器人集体“快闪”活动爆红网络 “我是AI”与您相约智能新时代...
  6. 平台建设的根节与基础保障——互联网平台建设系列...
  7. eclipse查看android源码包(eclipse导入android源码包)
  8. php文章管理系统_PHP-小程序:(1)开发环境搭建
  9. C语言函数指针简单应用
  10. Windows 系统的默认字体是什么?应用的默认字体是什么?
  11. 瑞利信道的多普勒谱的原理与MATLAB仿真
  12. 系统集成项目管理工程师计算题(进度管理总浮动时间、自由浮动时间、工期)
  13. Docker下安装部署MsSql
  14. XP Embedded 蓝屏错误 Stop 0x0000007B
  15. 【源码共读】Python 标准模块 collections 中 Counter 类详解
  16. 怎么快速缩小gif图大小?gif动图如何变小?
  17. Mac 蓝牙鼠标卡顿的解决方法
  18. 双曲函数 tanh是什么函数
  19. 2018大数据培训学习路线图(详细完整版)
  20. 小程序篇1-1:搜索框输入关键字、词检索;点击取消恢复默认状态

热门文章

  1. 简单理解redis epoll运行原理
  2. 树莓派安装linux
  3. 九、VRRP(虚拟路由器冗余协议)
  4. 负载均衡的概念以及负载均衡的策略和技术方案有哪些
  5. Android 5.0,6.0,7.0,8.0新特性整理
  6. Marco's Java【Redis入门(三) 之 Redis数据类型及用法】
  7. 6000 多款 App,看我如何搞定她们并将其洗白白~
  8. 拔得头筹 | 阿里云混合云荣膺IPv6最佳实践奖
  9. ajax prototype框架之Ajax.Request 类
  10. ps如何制作gif(窗口-动画)(导出:存储为Web和设备所用格式)