首页 > 编程语言 > 详细

线程队列queue的使用

时间:2019-09-21 19:30:51      阅读:69      评论:0      收藏:0      [点我收藏+]

其实线程队列queue跟进程Queue的用法一样。

一、先进先出

import queue
q = queue.Queue()
q.put('kobe')
q.put('cxk')
print(q.get())
print(q.get())
# print(q.get())
q.task_done()
q.task_done()
q.join()   # 进行阻塞,直到队列里所有项目均被处理,且均被q.task_done(),才能通过。

结果:

kobe
cxk

二、先进后出(LifeQueue)

实现一个类似于堆栈的效果

import queue
q = queue.LifoQueue()
q.put('No.1')
q.put('No.2')
q.put('No.3')

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

'''
结果:
No.3
No.2
No.1
'''

三、设置优先级队列(PriorityQueue)

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

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

'''
结果:
(1, 'c')
(5, 'b')
(10, 'a')
'''

四、线程定时器(Timer)

from threading import Timer
import time

def func():
    print('线程开始执行')
    time.sleep(2)
    print('线程结束')

t = Timer(4,func)   # 通过定时器来控制开启线程的时间,时间到了,下面的代码才会执行。
t.start()
print('主')

线程队列queue的使用

原文:https://www.cnblogs.com/guapitomjoy/p/11564140.html

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