python(33)-高并发-协程-Gevent

    协程:实现单线程下的高并发。
    例如web高并发服务器,Nginx,nodejs,其实都是单线程,而如何实现上万的高并发呢,用的就是协程。
    个人理解,协程快就是无论你启动了几个函数,整个程序的运行时长=最长的那个函数时长

    gevent 下载地址https://www.lfd.uci.edu/~gohlke/pythonlibs/#gevent 

"""
1.运行时间:
  整个程序,无论你启动几个函数,运行花费 只用了函数中最长的那个时间 2s

2.运行的过程
" 1 run in func1"
" 3 run in func2"

" 5 run in func3"
" 6 run in func3"

" 4 run in func2"
" 2 run in func1'



"""


import gevent


def func1():
    print(" 1 run in func1")
    gevent.sleep(2)               #为什么不是time.sleep 而是gevent.sleep?模仿io切换
    print('2 run in func1')


def func2():
    print(" 3 run in func2")
    gevent.sleep(1)               
    print(" 4 run in func2")

def func3():
    print(" 5 run in func3")
    gevent.sleep(0)              
    print(" 6 run in func3")

#启动了3个协程 列表的形式 spawn启动一个协程
gevent.joinall([
    gevent.spawn(func1),#生成
    gevent.spawn(func2),
   gevent.spawn(func3),
])


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值