python队列实例
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
跌倒了,就重新站起来,继续向前走,傻坐在地上是没用的。不妨先做出点成绩,然后再去强调你的感受,否则,生命中只有唧唧歪歪,怎么看都像是矫情!
- 分布式任务分发框架Gearman测试、性能监控、队列持久化【python 实例】
- Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
- python基于mysql实现的简单队列以及跨进程锁实例详解
- RabbitMQ应用实例Python版-工作队列
- rabbitmq工作队列实现高性能任务的负载分发[python实例] 推荐
- python计算最大优先级队列实例
- rabbitmq工作队列实现高性能任务的负载分发[python实例]
- Python使用list的append和pop方法创建堆栈和队列实例代码
- python计算最大优先级队列实例
- rabbitmq工作队列实现高性能任务的负载分发[python实例]
- python使用rabbitmq实例二,工作队列
- Python多线程和队列操作实例
- python 队列详解及实例代码
- python使用rabbitmq实例二,工作队列
- python队列通信:rabbitMQ的使用(实例讲解)
- 通过memcached实现领号排队功能及python队列实例 推荐
- python线程和队列实例
- python 队列详解及实例代码
- python基于mysql实现的简单队列以及跨进程锁实例详解
- python使用rabbitmq实例二,工作队列 (2)