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写个小监控
Jan 27 Python
Python安装使用命令行交互模块pexpect的基础教程
May 12 Python
Python 自动化表单提交实例代码
Jun 08 Python
利用python获取当前日期前后N天或N月日期的方法示例
Jul 30 Python
解决python ogr shp字段写入中文乱码的问题
Dec 31 Python
详解如何从TensorFlow的mnist数据集导出手写体数字图片
Aug 05 Python
Python计算两个矩形重合面积代码实例
Sep 16 Python
Python实现基于socket的udp传输与接收功能详解
Nov 15 Python
python实现飞行棋游戏
Feb 05 Python
使用npy转image图像并保存的实例
Jul 01 Python
python利用opencv保存、播放视频
Nov 02 Python
matplotlib交互式数据光标实现(mplcursors)
Jan 13 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
萌王史莱姆”萌王性别尴尬!那“萌战”归女组还是男?
2018/12/17 日漫
极典R601SW收音机
2021/03/02 无线电
随时给自己贴的图片加文字的php水印
2007/03/16 PHP
如何使用“PHP” 彩蛋进行敏感信息获取
2013/08/07 PHP
浅谈PHP中单引号和双引号到底有啥区别呢?
2015/03/04 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
实例分析基于PHP微信网页获取用户信息
2017/11/24 PHP
js动态往表格的td中添加图片并注册事件
2014/06/12 Javascript
js插件YprogressBar实现漂亮的进度条效果
2015/04/20 Javascript
不依赖Flash和任何JS库实现文本复制与剪切附源码下载
2015/10/09 Javascript
javascript cookie的简单应用
2016/02/24 Javascript
AngularJS基础 ng-selected 指令简单示例
2016/08/03 Javascript
基于jQuery封装的分页组件
2017/06/26 jQuery
React Native第三方平台分享的实例(Android,IOS双平台)
2017/08/04 Javascript
Nodejs把接收图片base64格式保存为文件存储到服务器上
2018/09/26 NodeJs
Angular resolve基础用法详解
2018/10/03 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
vue 使用post/get 下载导出文件操作
2020/08/07 Javascript
JavaScript实现多层颜色选项卡嵌套
2020/09/21 Javascript
python编写的最短路径算法
2015/03/25 Python
Python制作爬虫抓取美女图
2016/01/20 Python
Python函数式编程
2017/07/20 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
2017/12/15 Python
python+opencv实现高斯平滑滤波
2020/07/21 Python
8种用Python实现线性回归的方法对比详解
2019/07/10 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
2019/08/05 Python
python下载卫星云图合成gif的方法示例
2020/02/18 Python
Python创建简单的神经网络实例讲解
2021/01/04 Python
有机童装:Toby Tiger
2018/05/23 全球购物
淘宝店策划方案
2014/06/07 职场文书
党委书记群众路线对照检查材料思想汇报
2014/10/04 职场文书
教师政风行风评议心得体会
2014/10/21 职场文书
乡镇群众路线整改落实情况汇报
2014/10/28 职场文书
python numpy中multiply与*及matul 的区别说明
2021/05/26 Python
详解Python描述符的工作原理
2021/06/11 Python
微软发布Windows 11今年最大更新22H2(附 ISO 镜像官方下载)
2022/09/23 数码科技