本文实例讲述了Python优先队列实现方法。分享给大家供大家参考,具体如下:
1. 代码
import Queueimport threadingclass 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 jobNew job: Low-level jobNew job: Important jobProcessing job: Important jobProcessing job: Mid-level jobProcessing job: Low-level job
希望本文所述对大家Python程序设计有所帮助。
新闻热点
疑难解答