セクションXXIキュースレッドセーフなキュー

1  インポートキュー
 2  インポートスレッディング
 。3  インポート時間
 。4  
。5  
。6 Q Queue.Queue =(5) クラスのオブジェクトが生成され、指定された要素を収容することができる
。7 q.empty() は、キュー内の要素の数が0であるか否かを判定する
。8  
。9  DEF Q_Q ():
 10      '' ' キューを使用して基本的な機能' '' 
。11      のための X における範囲(1,10 ):
 12は          q.put(10 * X 13はある         、最初の10に置かれ、FIFO最初は、10点満点で
14          IF :q.full()
 15              プリント"キューがいっぱいになっている16              のための X における範囲(q.qsize()):
 17                  印刷するには(q.getは())
 18がある             BREAK 
。19  
20は 
21である クラスq_qq(Queue.Queue):
 22である     ' '' 
23は、     GET()とプットブロックは、パラメータ()メソッド
 24      GETキューが空である、スレッドブロック
 25      PUTをスレッドをブロックし、キューがいっぱいになっている
 26がある     '' ' 
27      DEF __init __(自己、Q):
28           self.q = Q 
29      DEF GET_VALUE(セルフ):
 30          しばらく 1。 31は、             印刷(q.get())
32      DEF Put_Valueの(自己):
 33          INDE = 0
 34          ながら、 1 35              q.put(INDE)
 36              INDE + = 1
 37              time.sleep(0.5 38  
39  
40  DEF メイン():
 41      、Q = q_qq(7 42      T1 = threading.Thread(目標= q.put_value)
 43      、T2 = threading.Thread(目標= q.get_value)
 44      t1.start()
 45      t2.start()
 46      
47  なら __name__ ==' __main__ ' 48      メイン()

 

おすすめ

転載: www.cnblogs.com/kogmaw/p/12507051.html