使用greenlet&gevent完成多任务

协程
协程 又称微线程
协程是pthon中别外一种实现多任务的方式 只不过比线程更小占用更小执行单元(理解为需要的资源)

python中的协程大概经历了如下三下阶段:
1.最初的生成器变形yield/send
2.yield from
3.在最近的python3.5版本中引入async/await关键字

使用greenlet完成多任务
安装模块: pip install greenlet

使用gevent完成多任务
安装模块: pip install gevent

简单总结
. 进程是资源分配的单位
. 线程是操作系统调度的单位
. 进程切换需要的资源最大,效率很低
. 线程切换需要的资源一般 效率一般(在不考虑GIL的情况下)
. 协程切换任务资源很小 效率高
. 多进程 多线程根据cpu核数不一样可能是并行的,但是协程是在一个线程中 所以是并发

greenlet --协程利用程序的IO 来切换任务

from greenlet import greenlet
import time

def demo1():
    while True:
        print('demo1')
        gr2.switch()
        time.sleep(0.5)


def demo2(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值