Chinaunix首页 | 论坛 | 博客
  • 博客访问: 319438
  • 博文数量: 72
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 748
  • 用 户 组: 普通用户
  • 注册时间: 2018-09-21 18:49
文章分类

全部博文(72)

我的朋友

分类: Python/Ruby

2018-12-16 12:10:21

进程是资源分配的单位
线程是操作系统调度的单位
进程切换需要的资源大,效率低
线程切换需要的资源一般,效率一般
协程切换需要的资源很小,效率高
协程在一个线程中

线程是系统级别的,它们是由操作系统调度;协程是程序级别的,由程序员根据需要自己调度。一个线程中的一个个函数叫做子程序,那么子程序在执行过程中可以中断去执行别的子程序别的子程序也可以中断回来继续执行之前的子程序,这就是协程

协程,自动切换

点击(此处)折叠或打开

  1. import threading
  2. import gevent,time
  3. from gevent import monkey#导入monkey补丁包
  4. monkey.patch_all()#打补丁为了支持time.sleep
  5. def test1():
  6.     for i in range(5):
  7.         time.sleep(1)
  8.         print('test1', i)
  9. def test2():
  10.     for i in range(5):
  11.         time.sleep(2)
  12.         print('test2', i)
  13. g1 = gevent.spawn(test1)
  14. g2 = gevent.spawn(test2)
  15. g1.join()
  16. g2.join()
  17. print(threading.enumerate())

阅读(2461) | 评论(0) | 转发(0) |
0

上一篇:python多进程

下一篇:python3 迭代器

给主人留下些什么吧!~~