from multiprocessing import Queue
q=Queue(3)
#格式:put(self, obj, block=True, timeout=None)
#参数:block,指阻塞,默认为真,表示如果队列已满,程序已满,
##如果为False,表示不需要阻塞,如果队列已满,将会派出异常
#timeout:表示阻塞时间,单位为秒。
q.put(1)
q.put(2)
q.put(3)
q.put(4)#block指阻塞,由于默认阻塞状态,4程序将会阻塞在这里不运行
try:
# q.put(4,block=False)
q.put(4, block=True,timeout=2)#如果阻塞,等两秒才会运行
except:
print(“消息队列已满,现有消息数量:%s”%(q.qsize()))
print("`````````````")
#put的另一种形式
#q.put_nowait()强塞,等价于q.put(5,block=False)
try:
q.put_nowait(5)
except:
print(“消息队列已满,现有消息数量:%s” % (q.qsize()))
#推荐方式:先判断消息队列是否已满,再放对象
if not q.full():
q.put(6)
#``````````````````````````````````````````````````````````
#----------取---------------------------
#格式:get(block=True,timeout=None)
q.get()
q.get()
q.get()
print(“当前队列的状态:%s”%(q.qsize()))
#推荐方式:先判断消息队列是否为空,再取对象
if not q.empty():
q.get() #如果队列为空,一直阻塞
print("``````````````````````````")
#取的另一种写法
q.get_nowait()#强取,等价于q.get(block=False)