本文實例講述了Python優先隊列實現方法。分享給大家供大家參考,具體如下:
1. 代碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
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. 執行結果
1
2
3
4
5
6
|
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程序設計有所幫助。
原文鏈接:http://blog.csdn.net/xiecj_2006/article/details/42464681