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 解析XML python模块xml.dom解析xml实例代码
Feb 07 Python
跟老齐学Python之编写类之三子类
Oct 11 Python
Python标准库之随机数 (math包、random包)介绍
Nov 25 Python
使用C#配合ArcGIS Engine进行地理信息系统开发
Feb 19 Python
python实现多线程的方式及多条命令并发执行
Jun 07 Python
Python正则表达式教程之一:基础篇
Mar 02 Python
浅谈tensorflow中几个随机函数的用法
Jul 27 Python
解决win64 Python下安装PIL出错问题(图解)
Sep 03 Python
python框架flask表单实现详解
Nov 04 Python
图解Python中深浅copy(通俗易懂)
Sep 03 Python
python+excel接口自动化获取token并作为请求参数进行传参操作
Nov 10 Python
Python之多进程与多线程的使用
Feb 23 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+javascript模拟Matrix画面
2006/10/09 PHP
php 处理上百万条的数据库如何提高处理查询速度
2010/02/08 PHP
php中选择什么接口(mysql、mysqli)访问mysql
2013/02/06 PHP
Laravel 5框架学习之环境与配置
2015/04/08 PHP
javascript 操作cookies及正确使用cookies的属性
2009/10/15 Javascript
jQuery)扩展jQuery系列之一 模拟alert,confirm(一)
2010/12/04 Javascript
Javascript中自动切换焦点实现代码
2012/12/15 Javascript
JS在TextArea光标位置插入文字并实现移动光标到文字末尾
2013/06/21 Javascript
JavaScript对IE操作的经典代码(推荐)
2014/03/10 Javascript
JavaScript通过function定义对象并给对象添加toString()方法实例分析
2015/03/23 Javascript
使用AngularJS 应用访问 Android 手机的图片库
2015/03/24 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
VUEJS实战之构建基础并渲染出列表(1)
2016/06/13 Javascript
基于js对象,操作属性、方法详解
2016/08/11 Javascript
利用纯JS实现像素逐渐显示的方法示例
2017/08/14 Javascript
你可能不知道的JSON.stringify()详解
2017/08/17 Javascript
webpack4 SCSS提取和懒加载的示例
2018/09/03 Javascript
微信小程序http连接访问解决方案的示例
2018/11/05 Javascript
ES6 Object.assign()的用法及其使用
2020/01/18 Javascript
简单介绍Ruby中的CGI编程
2015/04/10 Python
Python字符串、元组、列表、字典互相转换的方法
2016/01/23 Python
python安装与使用redis的方法
2016/04/19 Python
Django如何配置mysql数据库
2018/05/04 Python
利用python对Excel中的特定数据提取并写入新表的方法
2018/06/14 Python
python多项式拟合之np.polyfit 和 np.polyld详解
2020/02/18 Python
没编程基础可以学python吗
2020/06/17 Python
CSS3的transition和animation的用法实例介绍
2014/08/20 HTML / CSS
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
HTML5实践-图片设置成灰度图
2012/11/12 HTML / CSS
video实现有声音自动播放的实现方法
2020/05/20 HTML / CSS
俄罗斯EPL钻石珠宝店:ЭПЛ
2019/10/22 全球购物
阿玛尼美妆俄罗斯官网:Giorgio Armani Beauty RU
2020/07/19 全球购物
会计岗位职责范本
2014/03/07 职场文书
个人贷款承诺书
2014/03/28 职场文书
纪律教育月活动总结
2014/08/26 职场文书
python学习之panda数据分析核心支持库
2021/05/07 Python