码迷,mamicode.com
首页 > 编程语言 > 详细

线程的Queue

时间:2018-06-23 22:43:06      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:创建   无限   程序   实现   对象   false   focus   目的   exp   

线程的queue

Python中,队列是线程间最常用的交换数据的形式。Queue模块是提供队列操作的模块,虽然简单易用,但是不小心的话,还是会出现一些意外。

创建‘队列’对象

import queue
q = queue.Queue(3) #Queue(maxsizse = 3)

Queue.Queue类即是一个队列的同步实现。队列长度可为无限或者有限。可通过Queue的构造函数的可选参数maxsize来设定队列长度。如果maxsize小于1就表示队列长度无限。

将一个值放入队列中

q.put(10) 调用队列对象的put()方法在队尾插入一个项目。put()有两个参数,第一个item为必需的,为插入项目的值;第二个block为可选参数,默认为 1。如果队列当前为空且block为1,put()方法就使调用线程暂停,直到空出一个数据单元。如果block为0,put方法将引发Full异常。

q.put(3)
q.put(‘zhang‘)
q.put([‘zhang‘,‘li‘])
# q.put(6,block=False)
print(q.get())
q.put(6,block=True,timeout=2)
# q.put(8)

本身在队列full时,block默认为True。所以再向满的队列中插入数据时,队列就会阻塞,线程就会卡住。当block=False时,再次put程序就会发生错误。在timeout参数设定中,q.put(6,block=True,timeout=2)意味着当队列过了两秒还没有数据被取出程序就会报错。在尝试

 

线程的Queue

标签:创建   无限   程序   实现   对象   false   focus   目的   exp   

原文地址:https://www.cnblogs.com/z18271397173/p/9218770.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!