进程间通信=>IPC机制

进程间通信=>IPC机制
管道 占用内存空间
队列=管道+锁 占用内存空间 先进先出 应该存放小数据
from multiprocessing import Queue
q=Queue() #如果放的个数小于put的个数就会阻塞住
q.put(['first',])
q.put({'x':2})
q.put(3)
q.put(4)
print(q.get())
print(q.get())
print(q.get())
print(q.get())
结果:
['first']
{'x': 2}
3
4
队列
from multiprocessing import Queue
q=Queue(3)
q.put(['first',],block=True,timeout=3) #block=True 队列满的时候锁
q.put({'x':2},block=True,timeout=3) #timeout 超时时间,超过时间停止进程
q.put(3,block=True,timeout=3)

#
print(q.get(block=True,timeout=3))
print(q.get(block=True,timeout=3))
print(q.get(block=True,timeout=3))
print(q.get(block=True,timeout=3))

结果:
['first']
{'x': 2}
3
后面会报错,没有数据了,把取的第四行注释掉就好了
对列 等
from multiprocessing import Queue
q=Queue(3)
q.put_nowait(1) #q.put(1,block=False)
q.put_nowait(2)
q.put_nowait(3)

#不等
print(q.get_nowait()) #q.get(block=false)
print(q.get_nowait()) #q.get(block=false)
print(q.get_nowait()) #q.get(block=false)
print(q.get_nowait()) #q.get(block=false)

结果:
1
2
3
没有等待时间
队列 不等
原文地址:https://www.cnblogs.com/zhouhao123/p/11229476.html