python-线程队列

队列是一种数据结构,是数据安全的,数据安全的。队列能干的事情列表都能干。列表是线程不安全的,所以可以说队列是针对多线程出现的。

数据结构是用来存储数据用的,只不过各种数据结构的存储方式不同。比如:集合、队列、映射

列表:按索引值存储

字典:按key值的哈希表存储

list.pop()  #按索引删除

list.remove('str')  #按值删除

import queue #线程队列

q=queue.Queue() #默认FIFO  q=queue.Queue(5) 只能放5个元素
q.put(12)
q.put('hello')
q.put({'name':'lee'})
print(q.qsize())
print(q.full())
print(q.empty())
while 1: data=q.get() print(data) print('------')
import queue
q=queue.LifoQueue()  #后进先出模式
q.put(12)
q.put('hello')
q.put({'name':'lee'})
print(q.qsize())
print(q.full())
print(q.empty())
while 1: data=q.get() print(data) print('------')
import queue
q=queue.PriorityQueue() #优先级模式
q.put([3,12])
q.put([2,'hello'])
q.put([4,{'name':'lee'}])

print(q.qsize())
print(q.full())
print(q.empty())
while 1:
data=q.get(block=False) #相当于q.get_nowait()
print(data)
print('------')

q.join()  #意味着等待队列为空,再执行别的操作

猜你喜欢

转载自www.cnblogs.com/benchdog/p/9181068.html