本文實(shí)例講述了Python優(yōu)先隊(duì)列實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
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. 執(zhí)行結(jié)果
New job: Mid-level jobNew job: Low-level jobNew job: Important jobProcessing job: Important jobProcessing job: Mid-level jobProcessing job: Low-level job
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選