Los bancos necesitan programación.
Public static void main(String[] args){
string s 1 = "ahorrar dinero del banco"
String s2 = " getBankMoney
Banco banco = nuevo banco(s1, S2);
Subproceso save_Money
Subproceso get_Money
save_Dinero = nuevo hilo (banco);
obtener _ Dinero = nuevo hilo (banco);
guardar _ dinero nombre(s 1); (T2);
save_money.start();
get_money.start();//Iniciar el hilo
}
}
La biblioteca de clases implementa Runnable{
Banco público (String s1, String s2){
this . p>this.s2 = s2
}
public void run(){
ahorrar dinero del banco (11000); //Se acuerda el monto del depósito; ser 11000.
obtener dinero del banco(5000); //Retirar 5000
}
//Método sincronizado. vacío sincronizado público ahorrar dinero del banco (doble ahorro _ dinero){
if(Thread.currentThread().getName().Equals(s1)){
for(int I = 1;ilt3;i){
if(ahorrar _ dinero == 11000){
esto. dinero = ahorrar _ dinero;
prueba { p>
thread.sleep(2000); //dormir
}
catch(excepción interrumpida){ p>
ex .printstacktrace();
}
System.out.println("Quiero depositar: " ahorrar _ dinero);
System.out.println("¡Depósito exitoso! El saldo de la cuenta corriente es: "este. dinero);
}
}
}
}
//Método sincronizado para salir.
dinero getbank nulo sincronizado público (doble get _ dinero){
if(Thread.currentThread().getName().
igual a (s2)){
for(int I = 1;i lt3;i){
if (money gt=get_money){
esto . dinero = esto. dinero-get_money;
prueba {
thread.sleep(2000); //dormir
}
catch (excepción interrumpida){
ex . printstacktrace();
}
System.out.println("Quiero retirar dinero:" get _ dinero);
System.out.println("¡Retiro exitoso! El saldo de la cuenta actual es: " este . dinero);
}
De lo contrario{ p>
System.out.println("¡Saldo de cuenta insuficiente!"
}
}
}
); }
Dinero doble privado = 10000.0; //El monto inicial de la cuenta es 10000.
Cadena privada s 1;
Cadena privada S2
}