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中的一些高级编程技巧
Apr 02 Python
Python 3中的yield from语法详解
Jan 18 Python
python主线程捕获子线程的方法
Jun 17 Python
python3使用SMTP发送简单文本邮件
Jun 19 Python
在Python中分别打印列表中的每一个元素方法
Nov 07 Python
python3.x实现base64加密和解密
Mar 28 Python
jupyter 实现notebook中显示完整的行和列
Apr 09 Python
Python流程控制语句的深入讲解
Jun 15 Python
selenium切换标签页解决get超时问题的完整代码
Aug 30 Python
详解基于python的图像Gabor变换及特征提取
Oct 26 Python
Python远程linux执行命令实现
Nov 11 Python
python使用PySimpleGUI设置进度条及控件使用
Jun 10 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实现插入排序?
2013/04/10 PHP
浅析php中json_encode()和json_decode()
2014/05/25 PHP
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
2014/10/27 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
javaScript call 函数的用法说明
2010/04/09 Javascript
JS继承 笔记
2011/07/13 Javascript
jquery插件制作 手风琴Panel效果实现
2012/08/17 Javascript
jquery浏览器滚动加载技术实现方案
2014/06/03 Javascript
JavaScript检测原始值、引用值、属性
2016/06/20 Javascript
AngularJS指令用法详解
2016/11/02 Javascript
自己封装的一个原生JS拖动方法(推荐)
2016/11/22 Javascript
使用snowfall.jquery.js实现爱心满屏飞的效果
2017/01/05 Javascript
javascript数组定义的几种方法
2017/10/06 Javascript
js+html5生成自动排列对话框实例
2017/10/09 Javascript
微信小程序仿通讯录功能
2020/04/09 Javascript
[04:19]完美世界携手游戏风云打造 卡尔工作室模型介绍篇
2013/04/24 DOTA
[02:16]深扒TI7聊天轮盘语音出处2
2017/05/11 DOTA
在Python中操作时间之mktime()方法的使用教程
2015/05/22 Python
python实现简易云音乐播放器
2018/01/04 Python
mvc框架打造笔记之wsgi协议的优缺点以及接口实现
2018/08/01 Python
Python合并同一个文件夹下所有PDF文件的方法
2019/03/11 Python
tensorflow没有output结点,存储成pb文件的例子
2020/01/04 Python
Python matplotlib 绘制双Y轴曲线图的示例代码
2020/06/12 Python
python interpolate插值实例
2020/07/06 Python
PyQt5-QDateEdit的简单使用操作
2020/07/12 Python
python 装饰器重要在哪
2021/02/14 Python
Opencv 图片的OCR识别的实战示例
2021/03/02 Python
Nice Kicks网上商店:ShopNiceKicks.com
2018/12/25 全球购物
资料员岗位职责
2013/11/17 职场文书
致标枪运动员广播稿
2014/02/06 职场文书
社区优秀志愿者先进事迹
2014/05/09 职场文书
卫生院艾滋病宣传活动小结
2014/07/09 职场文书
节约用电通知
2015/04/25 职场文书
合同纠纷调解书
2015/05/20 职场文书
python 爬取京东指定商品评论并进行情感分析
2021/05/27 Python
Spring boot admin 服务监控利器详解
2022/08/05 Java/Android