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中的各种函数的使用
May 24 Python
给Python入门者的一些编程建议
Jun 15 Python
浅谈pandas中shift和diff函数关系
Apr 08 Python
Python的matplotlib绘图如何修改背景颜色的实现
Jul 16 Python
django中的图片验证码功能
Sep 18 Python
PyCharm 无法 import pandas 程序卡住的解决方式
Mar 09 Python
利用python生成照片墙的示例代码
Apr 09 Python
python matplotlib.pyplot.plot()参数用法
Apr 14 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
Apr 22 Python
Keras 快速解决OOM超内存的问题
Jun 11 Python
通过代码实例解析Pytest运行流程
Aug 20 Python
python实现学生信息管理系统源码
Feb 22 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中for循环语句的几种变型
2006/11/26 PHP
Zend Studio 无法启动的问题解决方法
2008/12/04 PHP
php加密解密实用类分享
2014/01/07 PHP
yii添删改查实例
2015/11/16 PHP
解决php extension 加载顺序问题
2019/08/16 PHP
在JavaScript中通过URL传递汉字的方法
2007/04/09 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
javascript面向对象之this关键词用法分析
2015/01/13 Javascript
JavaScript操作Cookie方法实例分析
2015/05/27 Javascript
JavaScript中Cookies的相关使用教程
2015/06/04 Javascript
jQuery基于扩展简单实现倒计时功能的方法
2016/05/14 Javascript
关于jquery form表单序列化的注意事项详解
2017/08/01 jQuery
elemetUi 组件--el-upload实现上传Excel文件的实例
2017/10/27 Javascript
element-ui表格列金额显示两位小数的方法
2018/08/24 Javascript
vue-cli3使用 DllPlugin 实现预编译提升构建速度
2019/04/24 Javascript
js实现带积分弹球小游戏
2020/07/21 Javascript
跟老齐学Python之玩转字符串(3)
2014/09/14 Python
Python选课系统开发程序
2016/09/02 Python
Python实现压缩和解压缩ZIP文件的方法分析
2017/09/28 Python
如何安装多版本python python2和python3共存以及pip共存
2018/09/18 Python
在pycharm中设置显示行数的方法
2019/01/16 Python
pandas条件组合筛选和按范围筛选的示例代码
2019/08/26 Python
Python读取VOC中的xml目标框实例
2020/03/10 Python
Python3读取和写入excel表格数据的示例代码
2020/06/09 Python
你需要学会的8个Python列表技巧
2020/06/24 Python
python中pyplot基础图标函数整理
2020/11/10 Python
css3 background属性调整增强介绍
2010/12/18 HTML / CSS
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
BIBLOO捷克:购买女装、男装、童装、鞋和配件
2017/01/27 全球购物
River Island美国官网:英国高街时尚品牌
2018/09/04 全球购物
Abbott Lyon官网:女士手表、珠宝及配件
2020/12/26 全球购物
电气专业推荐信范文
2013/11/18 职场文书
奉献演讲稿范文
2014/05/21 职场文书
婚宴领导致辞
2015/07/28 职场文书
python源码剖析之PyObject详解
2021/05/18 Python
IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署
2021/09/25 Java/Android