Python的queue

140 篇文章 1 订阅
57 篇文章 0 订阅
本文介绍了Python的multiprocessing模块中的Queue类,用于在多进程中传递数据。详细讲解了put和get方法的参数用法,包括阻塞和非阻塞模式,以及超时设置。示例代码展示了Queue的满和空的判断,以及异常处理情况。
摘要由CSDN通过智能技术生成
from multiprocessing import Queue

q = Queue(3)
q.put('1', True, 2)
print(q.get(True, 1))
print(q.empty())  # 判断队列是否为空
print(q.full())  # 判断队列是否已满
q.put_nowait('11')  # 相当于 q.put('11', False)
q.get_nowait()  # 相当于q.get(False)

# put中的第一个参数为要写入队列的值,第二个参数为当队列已被写满时是否等待,第三个参数为等待几秒,默认或负数则一直等待
# get中的第一个参数默认为true ,即当队列中没有数据时是否阻塞等待,第二个参数为秒,即等待几秒,默认或负数则为一直等待
# 写入/取出队列中的值 当设置等待时,超时后会抛出异常,当不等待时则会立即抛出异常

 

Python Queue模块是用来在线程间进行数据交换的常用模块。它包含了一些常用的队列操作函数,如创建队列对象、添加数据到队列、从队列中取值等。 在Python中,可以使用Queue模块来创建一个队列对象,并通过put()函数往队列中添加数据,通过get()函数从队列中取值。在多线程的情况下,可以使用队列来实现生产者-消费者模型,即一个线程往队列中添加数据,另外的线程从队列中取值。 队列模块提供了多种类型的队列,如FIFO(先进先出)队列和LIFO(后进先出)队列。可以通过参数maxsize来限制队列的长度,如果maxsize小于1表示队列长度无限制。另外,队列模块还提供了一些其他的函数,如返回队列大小、判断队列是否为空、判断队列是否已满等。 使用Queue模块可以方便地实现一些需求,比如爬虫的请求地址,可以将需要请求的URL放入队列中,然后通过多线程从队列中取值并进行请求。 总结起来,Python Queue模块是用来在线程间进行数据交换的模块,提供了创建队列对象、添加数据到队列、从队列中取值等常用的队列操作函数。可以通过队列模块实现生产者-消费者模型,并且支持不同类型的队列,如FIFO队列和LIFO队列。使用队列模块可以方便地实现一些需求,如爬虫的请求地址。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值