善用搜索

进程补充教程

一、进程间通信——队列(multiprocess.Queue)

队列:先进先出。堆栈:先进后出。

概念介绍:创建共享的进程队列,可以通过Queue实现多进程之间的数据传递。

from multiprocessing import Queue

q = Queue(3)  # 括号内可以传参数 表示的是这个队列的最大存储数
q.put(1)    # 往队列中添加数据
q.put(2)
# print(q.full())  # 判断队列是否满了
q.put(3)
# q.put(4)  # 当队列满了之后,再放入数据不会报错,会原地等待 直到队列中有数据被取走(此时为阻塞态)

print(q.get())
print(q.get())
print(q.empty())  # 判断队列中的数据是否取完
print(q.get())
# print(q.get_nowait())  # 取值,如果没有值会直接报错
# print(q.get())  # 当队列中的数据被取完之后,再次去取值,程序就会阻塞,直到有人往队列中放入值。
<br></br>其中(full,get_nowait,empty)都不适用于多进程的情况
发表评论
退出移动版