Ejercicio Lock CuentaBancaria

master
Sheila 12 months ago
commit 68a424b324

@ -0,0 +1,33 @@
import threading
class CuentaBancaria:
def __init__(self):
self.saldo = 1000
self.lock = threading.Lock()
def retirar_dinero(self, cantidad):
with self.lock:
if self.saldo >= cantidad:
self.saldo -= cantidad
return True
else:
return False
def usuario(cuenta, cantidad):
if cuenta.retirar_dinero(cantidad):
print(f"Retirada exitosa de {cantidad} euros.")
else:
print("Saldo insuficiente.")
cuenta = CuentaBancaria()
usuarios = []
for i in range(10):
t = threading.Thread(target=usuario, args=(cuenta, 200))
usuarios.append(t)
t.start()
for t in usuarios:
t.join()
print(f"Saldo final: {cuenta.saldo} euros.")
Loading…
Cancel
Save

Powered by INFORMATICA.FP.EDU.ES.