1,生产者消费者模型.py

 import random
import time
from multiprocessing import Queue, Process def producer(name,food,q):
for i in range(4):
time.sleep(random.randint(1,3))
f = '%s生产了%s%s'%(name,food,i)
print(f)
q.put(f) def consumer(q,name):
while True:
food = q.get()
if food is None:
print('%s获取到了一个空',name)
break
print('\033[31m%s消费了%s\033[0m' %(name,food))
time.sleep(random.randint(1,3)) if __name__ == '__main__':
q = Queue(20)
p1 = Process(target=producer,args=('Egon','包子',q))
p2 = Process(target=producer,args=('wusir','泔水',q))
c1 = Process(target=consumer,args=(q,'alex'))
c2 = Process(target=consumer,args=(q,'jinboss'))
p1.start()
p2.start()
c1.start()
c2.start()
p1.join()
p2.join()
q.put(None)

运行结果:

最新文章

  1. Angular2入门系列教程3-多个组件,主从关系
  2. js实现图片预加载
  3. web 打开子窗口提交数据或其他操作后 关闭子窗口且刷新父窗口实现
  4. Javaee----重新回顾servlet
  5. Linux Shell脚本攻略 读书笔记
  6. 对话Facebook人工智能实验室主任、深度学习专家Yann LeCun
  7. debug openStack
  8. 关于PsCreateSystemThread函数
  9. 深度神经网络(DNN)模型与前向传播算法
  10. Flask 应用上下文
  11. BZOJ 2810 [Apio2012]kunai
  12. oracle 之 伪列 rownum 和 rowid的用法与区别
  13. Perl 随机数据生成
  14. 【原】Github+Hexo+NextT搭建个人博客【1】
  15. error: pathspec 'master' did not match any file(s) known to git.
  16. [EffectiveC++]item45:运用成员函数模板接受所有兼容类型
  17. Java导出引用jar包的文件
  18. ITL(Interested Transaction List)理解
  19. Quick 3.3 final 加载ccs的变化
  20. hive2.1.1配置

热门文章

  1. iOS 中的 Deferred Deep Linking(延迟深度链接)
  2. JQuery--关系选择器
  3. C++中数字转换成字符串
  4. SQLServer —— datediff 函数计算俩个日期差
  5. js中的replace问题和textarea回车符问题
  6. 微服务开源生态报告 No.4
  7. 集合--Collection接口详解&&迭代器
  8. SDUT-3361_迷宫探索
  9. Effective C++: 05实现
  10. Java面向对象----接口概念