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 メイン()