队列Queue模块
队列:先进先出
堆栈:现金后出
import queue 或者from mulitiprocessing import queue 下面创建时就写都可以q=Queue() 可以帮我们生成一个队列
创建一个队列:
q=queue.Queue()# 括号内可以传数据 标识生成的队列最大可以同时存放的数据量,不写有默认值
#往队列中存数据
q.put(111)#当队列数据放满了以后 如果还有数据要放程序会阻塞 直到有位置让出来
#v2=q.get_nowait() #数据不够时会堵塞不显示,加这个如果没有数据给他的话就会报错
#print(q.full()) #判断当前队列是否满了
#print(q.empty()) #判断当前队列是否空了 以上三个在多进程中是不精确的
存取数据 存是为了更好的取
千方百计的存 简单快捷的取
#去队列中取数据
v1=q.get()
print(v1) 如果队列中已经没有数据的话 get方法方法会原地阻塞
管道:subprocess
stdin stdout (正确结果) stdess(错误结果)
IPC机制:借助队列实现队列与队列之间的通信
from multiprocessing import Queue,Process
研究思路:
1.主进程跟子进程借助于队列通信
def producer(q): 函数名字自己起
q.put('老板你好') 往队列里面添加一个信息
print('hello')
if __name__=='__main__':
q=Queue()
p=Process(target=producer,args=(q,))
p.start()
q.get() 如何、给没数据就等一会
2.子进程跟子进程借助于队列通信
标签:__,Queue,get,队列,间通信,print,进程 From: https://www.cnblogs.com/97zs/p/17705503.html