队列的三种形式

queue.Queue() #先入先出
queue.LifoQueue() #后入先出
queue.priorityQueue() #根据优先级进行选取


# 1.
import queue, threading, time

p = queue.Queue() #先入先出

p.put(1)
p.put(2)
p.put(3)

print(p.get(block=False,timeout=1)) #block = False 时,当取不到时不会发生错误, timeout 等待一秒钟内再来取值
print(p.get(block=False,timeout=1))
print(p.get(block=False,timeout=1))

举例:
def p_get():
print(p.get(timeout=1))

def p_put():
time.sleep(0.5)
p.put(4)
p_pt = threading.Thread(target=p_put)
p_pt.start()
p_gt = threading.Thread(target=p_get)
p_gt.start()

这里没有发生报错,因为在0.5秒时,放入一个4, 因此可以取出
# 2.
import queue
p = queue.LifoQueue()  #后入先出

p.put(1)
p.put(2)
p.put(3)

p.get()
p.get()
p.get()

# 3.
q = queue.PriorityQueue()  #根据优先级进行选取
q.put((1, 'alex'))
q.put((10, 'tom'))
q.put((3, 'ronghua'))

print(q.get())
print(q.get())
print(q.get())



转载于:https://www.cnblogs.com/my-love-is-python/p/9134923.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值