当前位置 : 主页 > 手机开发 > ROM >

进程间通信=>IPC机制

来源:互联网 收集:自由互联 发布时间:2021-06-10
进程间通信=IPC机制 管道 占用内存空间 队列=管道+锁 占用内存空间 先进先出 应该存放小数据 from multiprocessing import Queueq =Queue() # 如果放的个数小于put的个数就会阻塞住 q.put([ ‘ first ‘
进程间通信=>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
没有等待时间
队列 不等
网友评论