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爬虫之正则表达式
Feb 17 Python
python中zip()方法应用实例分析
Apr 16 Python
Python3按一定数据位数格式处理bin文件的方法
Jan 24 Python
对Python 检查文件名是否规范的实例详解
Jun 10 Python
python实现基于朴素贝叶斯的垃圾分类算法
Jul 09 Python
pycharm双击无响应(打不开问题解决办法)
Jan 10 Python
TensorFlow设置日志级别的几种方式小结
Feb 04 Python
Python 去除字符串中指定字符串
Mar 05 Python
python文件读取失败怎么处理
Jun 23 Python
解决Keras中CNN输入维度报错问题
Jun 29 Python
实例讲解Python 迭代器与生成器
Jul 08 Python
PyChon中关于Jekins的详细安装(推荐)
Dec 28 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中SQL查询语句的id=%d解释(推荐)
2016/12/10 PHP
转义字符(\)对JavaScript中JSON.parse的影响概述
2013/07/17 Javascript
获取当前点击按钮的id用this.id实现
2014/03/17 Javascript
Jquery实现Div上下移动示例
2014/04/23 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
2016/05/31 Javascript
AngularJS实用开发技巧(推荐)
2016/07/13 Javascript
微信小程序 location API接口详解及实例代码
2016/10/12 Javascript
正则表达式替换html元素属性的方法
2016/11/26 Javascript
Nodejs回调加超时限制两种实现方法
2017/06/09 NodeJs
利用Vue2.x开发实现JSON树的方法
2018/01/04 Javascript
在Vue中使用highCharts绘制3d饼图的方法
2018/02/08 Javascript
如何正确理解vue中的key详解
2019/11/02 Javascript
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
2017/08/31 Python
python Pygame的具体使用讲解
2017/11/03 Python
python3爬取淘宝信息代码分析
2018/02/10 Python
Django 实现下载文件功能的示例
2018/03/06 Python
Python利用matplotlib做图中图及次坐标轴的实例
2019/07/08 Python
python 实现12bit灰度图像映射到8bit显示的方法
2019/07/08 Python
Python中zip()函数的解释和可视化(实例详解)
2020/02/16 Python
python实现从ftp服务器下载文件
2020/03/03 Python
Python脚本调试工具安装过程
2021/01/11 Python
html5教程实现Photoshop渐变色效果
2013/12/04 HTML / CSS
Html5页面获取微信公众号的openid的方法
2020/05/12 HTML / CSS
台湾菁英交友:结识黄金单身的台湾人
2018/01/22 全球购物
澳大利亚波西米亚风连衣裙在线商店:Fortunate One
2019/04/01 全球购物
培训楼经理岗位责任制
2014/02/10 职场文书
热门专业求职信
2014/05/24 职场文书
经济管理自荐书
2014/06/09 职场文书
创建文明城市标语
2014/06/16 职场文书
真诚的求职信
2014/07/04 职场文书
2014教师“四风问题”对照检查材料思想汇报
2014/09/16 职场文书
大学生暑期实践报告
2015/07/13 职场文书
2015年社区消防安全工作总结
2015/10/14 职场文书
JavaScript流程控制(循环)
2021/12/06 Javascript
JS实现页面炫酷的时钟特效示例
2022/08/14 Javascript