gevent是python的一个并发框架,采用协程实现并发目的,用起来也非常简单

gevent的docs:http://www.gevent.org/contents.html

一个最简单的例子:

import gevent

import gevent.monkey
gevent.monkey.patch_all() def foo(i, a, b, c):
print('Running in foo' + str(i) + ' ' + str(a) + str(b) + str(c))
gevent.sleep(0)
print('Explicit context switch to foo again') tasks = [ gevent.spawn(foo,i, 1, 2,3) for i in range(0,10)]
gevent.joinall(tasks)

其中,

gevent.monkey.patch_all()的作用是将一些常见的阻塞,如socket、select等会阻塞的地方实现协程跳转,而不是在那里一直等待,导致整个协程组无法工作。

最新文章

  1. 3D游戏编程大师技巧──2D引擎的编译问题
  2. 架构设计(ASP.NET MVC+Knockout+Web API+SignalR)
  3. JavaScript 开发技巧 || 返回有效值
  4. eclipse中配置dtd和xsd文件实现自动提示
  5. A - Humble Numbers
  6. Python排列组合实验
  7. golang学习遭遇错误原因分析续
  8. java集合的互转
  9. Unicode编码及其实现:UTF-16、UTF-8,and more
  10. sql 当重复的数据有多条时,保留一条,删除其他重复
  11. 基于visual Studio2013解决面试题之0402合并升序链表并去重
  12. PRD学习笔记:一些需要注意的说明
  13. raft如何实现leadership transfer
  14. 笔记-windbg及时调试
  15. vue调用Moment显示时间
  16. 最全的libcurl库资源整理
  17. JVM有哪些分区?(解释详细 通俗易懂)
  18. [转] HTML5 FormData 方法介绍以及实现文件上传
  19. ubuntu如何实现双屏显示
  20. Java编程的逻辑 (58) - 文本文件和字符流

热门文章

  1. BZOJ4171 : Rhl的游戏
  2. BZOJ4662 : Snow
  3. BZOJ3189 : [Coci2011]Slika
  4. Activiti工作流学习(一)部署对象和流程定义
  5. NODEJS-fs模块操作文件系统
  6. Codeforces Round #215 (Div. 2) A. Sereja and Coat Rack
  7. 【wikioi】2822 爱在心中
  8. Android -- TextView (3)
  9. The Skins of the Substance
  10. 教你如何利用分布式的思想处理集群的参数配置信息——spring的configurer妙用