python queue 多线程取_python 并发编程 多线程 线程queue

线程queue

线程之间已经是共享数据的,为什么还使用线程queue?

线程需要自己加锁,线程queue帮我们处理好加锁的问题

有三种不同的用法

第一种方法:

class queue.Queue(maxsize=0) #队列:先进先出

put('four',block=,timeout=)

第一个参数: 放入的数据

第二个参数:

block=True 时 队列满了,再放数据不抛出异常,程序卡主,不指定block参数,默认是True

block=false时,队列满了,再放数据,不阻塞,抛出异常

源码

def put(self, item, block=True, timeout=None):

第三个参数 timeout:

设置队列满后,再放数据发生的阻塞时间,如果过了这个时间,还没有取数据,队列还是满的,就抛出异常,就算block=True也抛出异常

put()

设置只能放3个数据,队列满,再去放第四个数据,程序卡主 阻塞了

默认block参数为True

importqueue

q= queue.Queue(3) #先进先出 --> 队列

q.put("first")

q.put("second")

q.put("third")

q.put("four")

block=False时候,队列满了,再放数据,不阻塞,抛出异常

importqueue

q= queue.Queue(3) #先进先出 --> 队列

q.put("first")

q.put("second")

q.put("third")

q.put("four",block=False)'''q.put("four",block=False)<

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值