线程Queue

本文介绍了线程Queue的三种实现方式:先进先出(FIFO)、后进先出(LIFO)及优先级队列。通过具体代码示例展示了不同类型的Queue如何进行元素的添加与获取。

线程Queue有三种方式:

第一种和进程Queue一样 先进先出:

import queue

q = queue.Queue(3)

q.put(1,block=True,timeout=2)
q.put(2,block=True,timeout=2)
q.put(3,block=True,timeout=2)
print(q.get())
print(q.get())
print(q.get())


结果:
1
2
3

第二种是后进先出(堆栈)lifo(last in first out):

import queue

q = queue.LifoQueue(3)

q.put(1,block=True,timeout=2)
q.put(2,block=True,timeout=2)
q.put(3,block=True,timeout=2)
print(q.get())
print(q.get())
print(q.get())


结果:
3
2
1

第三种,可以设置队列的优先级:

import queue

q = queue.PriorityQueue(3)

q.put((-1,11))
q.put((-11,22))
q.put((1,33))
print(q.get())
print(q.get())
print(q.get())



结果:
(-11, 22)
(-1, 11)
(1, 33)

可以用元组或者列表的形式,第一个元素为优先级,越小优先级越高,第二个为要排列的元素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值