您的位置:首页 > 编程语言 > Python开发

python队列实例

2019-03-15 20:47 225 查看

1、 线程概念
由于进程是资源拥有者,创建、撤消与切换存在较大的内存开销,因此需要引入
轻型进程
即线程,
进程是资源分配的最小单位,线程是 CPU 调度的最小单位(程序真正执行的时候
调用的是线程).每一个进程中至少有一个线程。
使用 threading 模块创建线程
2,、队列
队列就是依次有序的排成一排,就想日常生活中见到的排队一样。在python里面按进出顺序不同分为,先进先出队列Queue,
优先级队列PriorityQueue,后进先出队列三种LifoQueue
线程和队列组合就是,把要完成的任务,放进队列里面,然后用线程来完成。这样做的话就提高了程序的效率。
下面来用代码实例解释三种队列。

from queue import Queue#先进先出队列
from queue import PriorityQueue #优先级队列—继承了Queue
from queue import LifoQueue#后进先出
#创建队列
q = Queue(3)
#放数据
q.put(‘d1’)
q.put(‘d2’)
q.put(‘d3’)
print(q.full())
#判断队列是否为满,结果True
print(q.empty())
#判断队列是否为空,结果False
#取数据
q.get()
#结果d1
q.get()
#结果d2
q.get()
#结果d3
print(q.empty())
#结果True
#优先级队列
pq = PriorityQueue()

任务不要直接put,需要封装到元组当中。

格式:(数字,消息)

#说明:数字越小优先级越高。
pq.put((1,‘文件1’))
pq.put((0,‘文件2’))
pq.put((-10,‘文件3’))
pq.put((100,‘文件4’))
i = 0
while i<pq.qsize():
print(pq.get())
#结果
‘’’
(-10, ‘文件3’)
(0, ‘文件2’)
(1, ‘文件1’)
(100, ‘文件4’)
‘’’
#后进先出队列
lq = LifoQueue()
lq.put(‘d1’)
lq.put(‘d2’)
lq.put(‘d3’)
print(lq.get())
#结果d3
print(lq.get())
#结果d2
print(lq.get())
#结果d1

跌倒了,就重新站起来,继续向前走,傻坐在地上是没用的。不妨先做出点成绩,然后再去强调你的感受,否则,生命中只有唧唧歪歪,怎么看都像是矫情!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: