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 urlopen 使用小示例
Sep 06 Python
Python set集合类型操作总结
Nov 07 Python
Python文件右键找不到IDLE打开项解决办法
Jun 08 Python
Python入门_浅谈for循环、while循环
May 16 Python
pandas 实现将重复表格去重,并重新转换为表格的方法
Apr 18 Python
初探利用Python进行图文识别(OCR)
Feb 26 Python
查看python安装路径及pip安装的包列表及路径
Apr 03 Python
python3获取当前目录的实现方法
Jul 29 Python
python实现滑雪游戏
Feb 22 Python
Django 设置多环境配置文件载入问题
Feb 25 Python
matplotlib 对坐标的控制,加图例注释的操作
Apr 17 Python
python 负数取模运算实例
Jun 03 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 REMOTE_ADDR之获取访客IP的代码
2008/04/22 PHP
快速配置PHPMyAdmin方法
2008/06/05 PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
2016/03/20 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
2016/08/17 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
2017/04/05 PHP
laravel 5.3中自定义加密服务的方案详解
2017/05/09 PHP
PHP PDOStatement::debugDumpParams讲解
2019/01/30 PHP
在ASP.NET中使用JavaScript脚本的方法
2013/11/12 Javascript
键盘KeyCode值列表汇总
2013/11/26 Javascript
jQuery异步加载数据并添加事件示例
2014/08/24 Javascript
jQuery循环动画与获取组件尺寸的方法
2015/02/02 Javascript
简单总结JavaScript中的String字符串类型
2016/05/26 Javascript
jQuery EasyUI提交表单验证
2016/07/19 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
2016/09/22 Javascript
JS中BOM相关知识点总结(必看篇)
2016/11/22 Javascript
JS求解三元一次方程组值的方法
2017/01/03 Javascript
vue父组件通过props如何向子组件传递方法详解
2017/08/16 Javascript
原生js封装添加class,删除class的实例
2017/11/06 Javascript
解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题
2018/09/14 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
2019/06/12 Javascript
vue中destroyed方法的使用说明
2020/07/21 Javascript
Python实现Sqlite将字段当做索引进行查询的方法
2016/07/21 Python
python网络爬虫之如何伪装逃过反爬虫程序的方法
2017/11/23 Python
python编辑用户登入界面的实现代码
2018/07/16 Python
python scp 批量同步文件的实现方法
2019/01/03 Python
Django上线部署之IIS的配置方法
2019/08/22 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
2020/03/28 Python
scrapy处理python爬虫调度详解
2020/11/23 Python
CSS3实现大小不一的粒子旋转加载动画
2016/04/21 HTML / CSS
印度低票价航空公司:GoAir
2017/10/11 全球购物
自考自我鉴定范文
2013/10/30 职场文书
便利店的创业计划书
2014/01/15 职场文书
土木工程师职业规划范文
2014/03/07 职场文书
给校长的建议书300字
2014/05/16 职场文书
校园安全主题班会
2015/08/12 职场文书
大学生,三分钟即兴演讲稿
2019/07/22 职场文书