第XIX版のロック生産者と消費者

1つの インポートスレッド
 2  インポート時間
 3  インポートランダム
 4  
5  
6 gMoney = 1000
 7グロック= threading.Lock()
 8  
9  クラス:プロデューサー(threading.Thread)
 10      DEF 実行(自己):
 11          グローバルgMoney
 12          ながら、 1 13              お金=をrandom.randint(100,1000 14              gLock.acquire()
 15              gMoney + = お金
 16              プリント'%sの生产了%D、账户总余额%D '(threading.current_thread()、お金、gMoney))
 17              gLock.release()
 18              time.sleep(0.5 19  
20  
21  クラスの消費者(threading.Thread):
 22      DEF 実行(自己):
 23          グローバルgMoney
 24          ながら、 1 25              お金= random.randint(100,1000 26              であれば gMoney> = お金:
 27                  gLock.acquire()
 28                  gMoney - = お金
 29                  プリント' %sの消费了%D、账户余额%D '(threading.current_thread()、お金、gMoney))
 30                  gLock.release()
 31              time.sleep(0.5 32  
33  DEF メイン():
 34      用の X 範囲(5 ):
 35          T = プロデューサー()
 36          t.start()
 37      のためのx における範囲(5 ):
 38          T = 消費者()
 39          t.start()
 40  
41  なら __name__ == '__main__ ' 42      メイン()

 

おすすめ

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