初识队列:

进程间通信IPC(Inter-Process Communication)

1,队列的方法:

q = Queue(5)
1,q.put(1)    #把1放进队列

2,print(q.full()) #队列是否满了

3,print(q.empty()) #队列是否为空

4,q.get_nowait()  #队列为空则抛异常

5,c1.daemon = True #设置为守护进程 主进程中的代码执行完毕之后,子进程自动结束

 #队列 先进先出
#IPC
import time
from multiprocessing import Queue
q = Queue(5)
q.put(1)
q.put(2)
q.put(3)
q.put(4)
q.put(5)
print(q.full()) #队列是否满了
print(q.get())
print(q.get())
print(q.get())
print(q.get())
print(q.get())
print(q.empty()) #队列是否为空
#while True这个行为非常地耗内存
while True:
try:
q.get_nowait()
except:
print('队列已空')
time.sleep(1)

运行结果:

2,一个例子:

 from multiprocessing import Queue,Process

 def produce(q):
q.put('hello') def consume(q):
print(q.get()) if __name__ == '__main__':
q = Queue()
p = Process(target=produce,args=(q,))
p.start()
c = Process(target=consume, args=(q,))
c.start()

运行结果:

最新文章

  1. C++-Qt【2】-实现一个简单的记事本
  2. RabbitMQ框架学写笔记-20161201
  3. MVC丶 (未完待续······)
  4. HTML5:web socket 和 web worker
  5. 给linux 授权一个可以远程登录的账户
  6. 一个URL链接到一个页面发生了什么?
  7. maven笔记-入门(helloWorld)
  8. 一步步学Mybatis-实现多表联合查询(4)
  9. Gradle – Spring 4 MVC Hello World Example – Annotation
  10. block 浅析
  11. C++11于once_flag,call_once分析的实现
  12. OR1200数据Cache介绍
  13. Android开发学习——自定义View
  14. 使用yield生成器,用Python实现用户对用户输入信息的监听和过滤
  15. js生成tree形组织机构下拉框
  16. 搭建自己的docker仓库
  17. 开源代码SlidingMenu的使用
  18. (转)linux下vi命令修改文件及保存的使用方法
  19. cannot import name '_imaging' 报错
  20. ACM-ICPC(10 / 9)

热门文章

  1. VLSM(可变长子网掩码)
  2. vs2015卸载、vs2008安装Visual Assist x
  3. JavaScript--预解析在IE存在的问题
  4. 【51NOD1028】大数乘法 V2
  5. jQuery打飞机游戏
  6. SWF在线绘本批量制作高质量PDF的新方法(重点在批量制作)
  7. 简单线性回归(最小二乘法)python实现
  8. [mysql]MySQL Daemon failed to start 2016-08-14 21:27 1121人阅读 评论(18) 收藏
  9. 洛谷4178 BZOJ1468 Tree题解点分治
  10. 【Leetcode链表】两两交换链表中的节点(24)