Python优先队列实现方法示例

 更新时间:2017年09月21日 08:55:01   作者:xiecj_2006  
这篇文章主要介绍了Python优先队列实现方法,结合实例形式分析了Python优先队列的具体定义与使用方法,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了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操作gmail实例

    python操作gmail实例

    这篇文章主要介绍了python操作gmail的方法,实例分析了python针对gmail操作的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • Python线程threading模块用法详解

    Python线程threading模块用法详解

    这篇文章主要介绍了Python线程threading模块用法,结合实例形式总结分析了Python线程threading模块基本功能、原理、相关函数使用方法与操作注意事项,需要的朋友可以参考下
    2020-02-02
  • 使用python进行波形及频谱绘制的方法

    使用python进行波形及频谱绘制的方法

    今天小编就为大家分享一篇使用python进行波形及频谱绘制的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python爬虫之Appium爬取手机App数据及模拟用户手势

    python爬虫之Appium爬取手机App数据及模拟用户手势

    这篇文章主要介绍了python爬虫怎样通过Appium爬取手机App数据及模拟用户手势,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • Python利用pdfplumber提取PDF文档中的表格数据并导出

    Python利用pdfplumber提取PDF文档中的表格数据并导出

    pdfplumber是一个功能强大的Python库,可以用于解析PDF文档并提取其中的文本、表格和图像等内容,下面我们就来学习一下如何使用pdfplumber提取PDF表格数据吧
    2023-12-12
  • 彻底解决No module named ‘torch_geometric‘报错的办法

    彻底解决No module named ‘torch_geometric‘报错的办法

    这篇文章主要给大家介绍了关于如何彻底解决No module named ‘torch_geometric‘报错的办法,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • Python实现将n个点均匀地分布在球面上的方法

    Python实现将n个点均匀地分布在球面上的方法

    这篇文章主要介绍了Python实现将n个点均匀地分布在球面上的方法,涉及Python绘图的技巧与相关数学函数的调用,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • Python中如何快速解析JSON对象数组

    Python中如何快速解析JSON对象数组

    由于浏览器可以迅速地解析JSON对象,它们有助于在客户端和服务器之间传输数据,本文将描述如何使用Python的JSON模块来传输和接收JSON数据
    2023-09-09
  • Python遍历目录中的所有文件的方法

    Python遍历目录中的所有文件的方法

    Pyhton中我们一般使用os.walk生成器来获取文件夹中的所有文件,这里我们就来详细看一下Python遍历目录中的所有文件的方法,包括一个进阶的利用fnmatch模块进行匹配的方法:
    2016-07-07
  • python实现梯度下降和逻辑回归

    python实现梯度下降和逻辑回归

    这篇文章主要为大家详细介绍了python实现梯度下降和逻辑回归,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03

最新评论