1 importação enfiar 2 importação tempo 3 importação aleatório 4 5 6 gMoney = 1000 7 Glock = threading.Lock () 8 9 classe Produtor (threading.Thread): 10 def correr (auto): 11 mundial gMoney 12 enquanto um : 13 dinheiro = random.randint (100,1000 ) 14 gLock.acquire () 15 gMoney + = dinheiro 16 print ( '% s生产了% d,账户总余额% d ' % (threading.current_thread (), dinheiro, gMoney)) 17 gLock.release () 18 time.sleep (0,5 ) 19 20 21 classe Consumidor (threading.Thread): 22 def execute (self): 23 mundial gMoney 24 , enquanto 1 : 25 dinheiro = random.randint (100,1000 ) 26 se gMoney> = dinheiro: 27 gLock.acquire () 28 gMoney - = dinheiro 29 impressão (' % S消费了% d,% d账户余额' % (threading.current_thread (), dinheiro, gMoney)) 30 gLock.release () 31 time.sleep (0,5 ) 32 33 def principal (): 34 para x em faixa (5 ): 35 t = Produtor () 36 t.start () 37 para x no intervalo (5 ): 38 t = Consumidor () 39 t.start () 40 41 se __name__ == '__main__ ' : 42 principal ()