消息队列
消息队列
目的是为了实现进程间通信
import multiprocessing
if __name__ == '__main__':
# 创建queue,长度为5
queue = multiprocessing.Queue(5)
# 向queue中放入值
queue.put(10)
queue.put('res')
queue.put([1,'a'])
queue.put(True)
queue.put({2:'b','c':3})
# 判断
is_full = queue.full()
is_empty = queue.empty()
len_queue = queue.qsize()
print(is_full,is_empty,len_queue)
# 当队列已满,再放入值就会进入阻塞状态,默认等待直至有值被取出,然后再执行放入
# queue.put_wait(10.10)
# 如果队列已满则引发异常
# queue.put_nowait(10.10)
# 从queue中取值
for i in range(5):
# 当队列为空,再取值就会进入阻塞状态,默认等待直至有值被放入,然后再执行取出
# n = queue.get_wait()
# 如果队列为空则引发异常
n = queue.get_nowait()
print(i,n)
True False 5
0 10
1 res
2 [1, 'a']
3 True
4 {2: 'b', 'c': 3}