python队列阻塞代码实例

今天学习了队列阻塞,这个东西挺有意思的。现实生活中我们被阻塞在地铁,在编程世界里,我们来阻塞一下程序。想想就开心。
来代码吧。
from multiprocessing import Queue
q = Queue(3)

格式:put(self, obj, block=True, timeout=None)

q.put(1)
q.put(2)
q.put(3)
#q.put(4) # 由于默认状态为阻塞状态,程序将会阻塞在这里

参数block: 默认值为真,表示如果队列已经满,程序阻塞。

如果是False,表示不需要阻塞,如果队列已经满,将会抛出异常

参数timeout: 表示阻塞时间,单位为妙。

#q.put_nowait(5) 等价于q.put(5,block=False)
try:
q.put(4,block=True,timeout=2)
except:
print(‘消息队列已经满,当前现有消息:%s’%(q.qsize()))

推荐方式,先判断消息队列是否已经满了,再往里放

if not q.full():
q.put(6)

~~分割线~

格式: get(self, block=True, timeout=None)

q.get()
q.get()
q.get()
print(‘当前队列消息个数:%s’%(q.qsize()))
学习使我充实,学习让我快乐。在知识的海洋扬帆起航。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值