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基于BeautifulSoup实现抓取网页指定内容的方法
Jul 09 Python
如何在python中使用selenium的示例
Dec 26 Python
python3基于OpenCV实现证件照背景替换
Jul 18 Python
详解Python3中的迭代器和生成器及其区别
Oct 09 Python
对python添加模块路径的三种方法总结
Oct 16 Python
使用memory_profiler监测python代码运行时内存消耗方法
Dec 03 Python
对于Python深浅拷贝的理解
Jul 29 Python
python数据持久存储 pickle模块的基本使用方法解析
Aug 30 Python
python openvc 裁剪、剪切图片 提取图片的行和列
Sep 19 Python
Python查找不限层级Json数据中某个key或者value的路径方式
Feb 27 Python
python中lower函数实现方法及用法讲解
Dec 23 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
Jan 24 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
PHP网页游戏学习之Xnova(ogame)源码解读(八)
2014/06/23 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
2016/08/12 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
更优雅的事件触发兼容
2011/10/24 Javascript
js动态为代码着色显示行号
2013/05/29 Javascript
jQuery过滤选择器详解
2015/01/13 Javascript
javascript获取系统当前时间的方法
2015/11/19 Javascript
javascript中Date format(js日期格式化)方法小结
2015/12/17 Javascript
js实现滚动条滚动到某个位置便自动定位某个tr
2021/01/20 Javascript
jQuery实现邮箱下拉列表自动补全功能
2016/09/08 Javascript
Vue.js第一天学习笔记(数据的双向绑定、常用指令)
2016/12/01 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
Angular4表单验证代码详解
2017/09/03 Javascript
JS验证输入的是否是数字及保留几位小数问题
2018/05/09 Javascript
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
python 遍历目录(包括子目录)下所有文件的实例
2018/07/11 Python
Python实现的括号匹配判断功能示例
2018/08/25 Python
Django之Mode的外键自关联和引用未定义的Model方法
2018/12/15 Python
解决pycharm的Python console不能调试当前程序的问题
2019/01/20 Python
python的set处理二维数组转一维数组的方法示例
2019/05/31 Python
django项目登录中使用图片验证码的实现方法
2019/08/15 Python
python 一篇文章搞懂装饰器所有用法(建议收藏)
2019/08/23 Python
sklearn线性逻辑回归和非线性逻辑回归的实现
2020/06/09 Python
Python的信号库Blinker用法详解
2020/12/31 Python
你对IPv6了解程度
2016/02/09 面试题
盛大二次面试题
2016/11/18 面试题
史上最全面的Java面试题汇总!
2015/02/03 面试题
《匆匆》教学反思
2014/02/22 职场文书
护士上岗前培训自我鉴定
2014/04/20 职场文书
2014年节能降耗工作总结
2014/12/11 职场文书
2016年校长新年寄语
2015/08/17 职场文书
党性修养心得体会2016
2016/01/21 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书
pytorch 预训练模型读取修改相关参数的填坑问题
2021/06/05 Python
Python Matplotlib绘制两个Y轴图像
2022/04/13 Python
Windows Server 版本 20H2 于 8 月 9 日停止支持,Win10 版本 21H1 将于 12 月结束支
2022/07/23 数码科技