Python--小功能应用

#生产者消费者模型(单线程高并发)
1、低效率模式  产完在统一给
import time
def producter():
    ret = []
    for i in range(10):
        time.sleep(0.1)
        ret.append(i)
    return  ret
def consumer(res):
    for index,baozi in enumerate(res):
        time.sleep(0.1)
        print('第%s个人,吃了%s' %(index,baozi))
res = producter()
print(consumer(res))
2、高效率模式  产一个给一个
import time
def consumer(name):
    print('我是[%s],我在排队买包子' %name)
    while True:
        baozi = yield
        time.sleep(1)   #模拟在achun在吃包子
        print('%s很开心,%s很好吃' %(name,baozi))
def producter():
    population1 = consumer('achun')   #生成器函数
    population1.__next__()
    population2 = consumer('alin')  # 生成器函数
    population2.__next__()
    for i in range(10):
        time.sleep(1)   #模拟在在做包子
        population1.send('鲜肉菜包 %s' %i)
        population2.send('鲜肉菜包 %s' %i)
producter()

 

 
posted @ 2018-12-16 14:40  爱跑步的乌龟  阅读(142)  评论(0编辑  收藏  举报