Python优先队列实现方法示例


Posted in Python onSeptember 21, 2017

本文实例讲述了Python优先队列实现方法。分享给大家供大家参考,具体如下:

1. 代码

import Queue
import threading
class Job(object):
  def __init__(self, priority, description):
    self.priority = priority
    self.description = description
    print 'New job:', description
    return
  def __cmp__(self, other):
    return cmp(self.priority, other.priority)
q = Queue.PriorityQueue()
q.put(Job(3,'Mid-level job'))
q.put(Job(10,'Low-level job'))
q.put(Job(1,'Important job'))
def process_job(q):
  while True:
    next_job = q.get()
    print 'Processing job:', next_job.description
    q.task_done()
workers = [threading.Thread(target=process_job,args=(q,)),
      threading.Thread(target=process_job,args=(q,)),]
for w in workers:
  w.setDaemon(True)
  w.start()
q.join()

2. 执行结果

New job: Mid-level job
New job: Low-level job
New job: Important job
Processing job: Important job
Processing job: Mid-level job
Processing job: Low-level job

更多关于Python相关内容可查看本站专题:《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python实现备份目录的方法
Aug 03 Python
OPENCV去除小连通区域,去除孔洞的实例讲解
Jun 21 Python
python使用Matplotlib画条形图
Mar 25 Python
python Tkinter版学生管理系统
Feb 20 Python
微信公众号token验证失败解决方案
Jul 22 Python
对django 模型 unique together的示例讲解
Aug 06 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
Oct 17 Python
python matplotlib 绘图 和 dpi对应关系详解
Mar 14 Python
pyqt5数据库使用详细教程(打包解决方案)
Mar 25 Python
基于opencv的selenium滑动验证码的实现
Jul 24 Python
python中的plt.cm.Paired用法说明
May 31 Python
Python 的 sum() Pythonic 的求和方法详细
Oct 16 Python
python虚拟环境virtualenv的安装与使用
Sep 21 #Python
基于python socketserver框架全面解析
Sep 21 #Python
基于python select.select模块通信的实例讲解
Sep 21 #Python
Python实现小数转化为百分数的格式化输出方法示例
Sep 20 #Python
Python实现字符串格式化输出的方法详解
Sep 20 #Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
Sep 20 #Python
python select.select模块通信全过程解析
Sep 20 #Python
You might like
PHP5中MVC结构学习
2006/10/09 PHP
隐性调用php程序的方法
2015/06/13 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
2015/12/31 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
2010/06/19 Javascript
纯js实现瀑布流展现照片(自动适应窗口大小)
2013/04/08 Javascript
JavaScript 实现鼠标拖动元素实例代码
2014/02/24 Javascript
javascript表格隔行变色加鼠标移入移出及点击效果的方法
2015/04/10 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
jQuery解析返回的xml和json方法详解
2017/01/05 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
react-router4 嵌套路由的使用方法
2017/07/24 Javascript
vue中mint-ui的使用方法
2018/04/04 Javascript
vue中filters 传入两个参数 / 使用两个filters的实现方法
2019/07/15 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
axios解决高并发的方法:axios.all()与axios.spread()的操作
2020/11/09 Javascript
[36:16]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.19
2020/12/24 DOTA
解析Python中的异常处理
2015/04/28 Python
Python编写简单的HTML页面合并脚本
2016/07/11 Python
Python中str.format()详解
2017/03/12 Python
python简单图片操作:打开\显示\保存图像方法介绍
2017/11/23 Python
Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)
2018/10/22 Python
对Python中实现两个数的值交换的集中方法详解
2019/01/11 Python
python实现对服务器脚本敏感信息的加密解密功能
2019/08/13 Python
Guess荷兰官网:美国服饰品牌
2020/01/22 全球购物
比较基础的php面试题及答案-填空题
2014/04/26 面试题
学生社团文化节开幕式主持词
2014/03/28 职场文书
《美丽的丹顶鹤》教学反思
2014/04/22 职场文书
讲文明树新风演讲稿
2014/05/12 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
美术兴趣小组活动总结
2014/07/07 职场文书
python 如何用terminal输入参数
2021/05/25 Python
关于python中readlines函数的参数hint的相关知识总结
2021/06/24 Python
一文搞懂Redis中String数据类型
2022/04/03 Redis