当前位置: 首页 > 图灵资讯 > 行业资讯> Queue在python的实例化

Queue在python的实例化

来源:图灵python
时间: 2024-09-04 19:56:56

1、Queue的方法

如果实例Queue()未指定可接收信息的参数或该参数为负,则默认无上限(内存上限)

Queue.qsize(): 返回当前队列中包含信息的数量

Queue.empty(): 判断队列是否为空,是True还是False?

Queue.full(): 判断队列是否满是True还是False?

Queue.get([block[,timeout]]): 获取队列信息,然后从队列中删除,black默认为True

如果block是默认值,没有设置timeout,消息队列为空,则程序将被阻塞(停止读取状态),直到队列中有一个值,并从消息队列中读取该值。如果设置了timeout,则等待timeout的时间将报告(Queue.Empty)异常

如果block是False,消息队列是空的,它会立即抛出(Queue.Empty)异常

2、实例化

frommultiprocessingimportQueue

q=Queue(3)#实例化时传输到消息队列的数量
q.put("test1")
q.put("test2")
print(q.full()#这里队列不满,返回False
q.put("test3")
print(q.full()#这里的队列已经满了,返回True

try:
q.put("test4",timeout=2)#写入时,如果队列满了,等两秒钟,如果没有,抛出异常
except:
print("目前消息队列的数量为%s"%q.qsize())

try:
q.put("test4",block=False)#在写入时,如果队列满了,异常直接抛出
except:
print("目前消息队列的数量为%s"%q.qsize())

#在写入之前,你可以判断队列是否满
ifnotq.full():
q.put_nowait("test4")

#同样,在取数之前,判断队列是否为空
ifnotq.empty():
foriinrange(q.qsize()):
print(q.get_nowait())

以上是Queue在python实例化的方法,希望对大家有所帮助,更多的知识都在python学习网。