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 25 Python
用python实现对比两张图片的不同
Feb 05 Python
set在python里的含义和用法
Jun 24 Python
Python 实现数据结构-堆栈和队列的操作方法
Jul 17 Python
简单了解python变量的作用域
Jul 30 Python
python 修改本地网络配置的方法
Aug 14 Python
在python Numpy中求向量和矩阵的范数实例
Aug 26 Python
python用quad、dblquad实现一维二维积分的实例详解
Nov 20 Python
pytorch-RNN进行回归曲线预测方式
Jan 14 Python
pycharm设置python文件模板信息过程图解
Mar 10 Python
Pycharm-community-2020.2.3 社区版安装教程图文详解
Dec 08 Python
python简单实现插入排序实例代码
Dec 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
js实现延时加载Flash的方法
2015/11/26 Javascript
全面了解JS中的匿名函数
2016/06/29 Javascript
nodejs加密Crypto的实例代码
2016/07/07 NodeJs
js实现加载更多功能实例
2016/10/27 Javascript
jQuery的$.extend 浅拷贝与深拷贝
2017/03/08 Javascript
angularjs2中父子组件的数据传递的实例代码
2017/07/05 Javascript
zTree异步加载展开第一级节点的实现方法
2017/09/05 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
2017/09/18 Javascript
微信小程序商品详情页规格属性选择示例代码
2017/10/30 Javascript
JQuery Ajax动态加载Table数据的实例讲解
2018/08/09 jQuery
在vue中安装使用vux的教程详解
2018/09/16 Javascript
vue实现手机号码的校验实例代码(防抖函数的应用场景)
2019/09/05 Javascript
[01:10]DOTA2次级职业联赛 - Fly战队宣传片
2014/12/01 DOTA
[57:53]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#3OG VS VP
2016/03/03 DOTA
Python Socket实现简单TCP Server/client功能示例
2017/08/05 Python
Python实现识别手写数字 简易图片存储管理系统
2018/01/29 Python
python的pytest框架之命令行参数详解(上)
2019/06/27 Python
python 使用plt画图,去除图片四周的白边方法
2019/07/09 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
Python爬取爱奇艺电影信息代码实例
2019/11/26 Python
Python线程threading模块用法详解
2020/02/26 Python
Python文本文件的合并操作方法代码实例
2020/03/31 Python
解决Jupyter因卸载重装导致的问题修复
2020/04/10 Python
新手常见Python错误及异常解决处理方案
2020/06/18 Python
html5调用摄像头功能的实现代码
2018/05/07 HTML / CSS
中国最大的名表商城:万表网
2016/08/29 全球购物
莫斯科绝对前卫最秘密的商店:SVMoscow
2017/10/23 全球购物
有针对性的求职自荐信
2013/11/14 职场文书
本科生职业生涯规划书范文
2014/01/21 职场文书
《学会待客》教学反思
2014/02/22 职场文书
揭牌仪式策划方案
2014/05/28 职场文书
挂职学习心得体会
2014/09/09 职场文书
青年文明号申报材料
2014/12/23 职场文书
送达通知书
2015/04/25 职场文书
辞职信怎么写?你都知道吗?
2019/06/24 职场文书
详解Java实践之抽象工厂模式
2021/06/18 Java/Android