进程是资源分配的单位
线程是操作系统调度的单位
进程切换需要的资源大,效率低
线程切换需要的资源一般,效率一般
协程切换需要的资源很小,效率高
协程在一个线程中
线程是系统级别的,它们是由操作系统调度;协程是程序级别的,由程序员根据需要自己调度。一个线程中的一个个函数叫做子程序,那么子程序在执行过程中可以中断去执行别的子程序;别的子程序也可以中断回来继续执行之前的子程序,这就是协程。
协程,自动切换
import threading
import gevent,time
from gevent import monkey#导入monkey补丁包
monkey.patch_all()#打补丁为了支持time.sleep
def test1():
for i in range(5):
time.sleep(1)
print('test1', i)
def test2():
for i in range(5):
time.sleep(2)
print('test2', i)
g1 = gevent.spawn(test1)
g2 = gevent.spawn(test2)
g1.join()
g2.join()
print(threading.enumerate())来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2505/viewspace-3164761/ ,如需转载,请注明出处,否则将追究法律责任。