首页 > 编程语言 > 详细

并发编程-进~线程-04线锁Queue

时间:2019-09-21 12:42:42      阅读:72      评论:0      收藏:0      [点我收藏+]

同一个进程下的多个线程本来就是数据共享 为什么还要用队列

因为队列是管道+锁 使用队列你就不需要自己手动操作锁的问题

因为锁操作的不好极容易产生死锁现象

一丶queue.Queue(maxsize=0)

先进先出

queue队列 :使用import queue,用法与进程Queue一样

q = queue.Queue()
q.put('hahha')
print(q.get())

二丶queue.LifoQueue(maxsize=0)

last in fisrt out:后进先出 堆栈

import queue

q=queue.LifoQueue()
q.put('first')
q.put('second')
q.put('third')

print(q.get())
print(q.get())
print(q.get())
'''
结果(后进先出):
third
second
first
'''

三丶queue.PriorityQueue(maxsize=0)

储数据时可设置优先级的队列

import queue

q=queue.PriorityQueue()
#put进入一个元组,元组的第一个元素是优先级(通常是数字,也可以是非数字之间的比较),数字越小优先级越高
q.put((20,'a'))
q.put((10,'b'))
q.put((30,'c'))

print(q.get())
print(q.get())
print(q.get())
'''
结果(数字越小优先级越高,优先级高的优先出队):
(10, 'b')
(20, 'a')
(30, 'c')
'''

并发编程-进~线程-04线锁Queue

原文:https://www.cnblogs.com/suren-apan/p/11561968.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!