Herramientas de programación bancaria
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;i<3;i++){
if(ahorrar _ dinero == 11000){
este . dinero+= ahorrar _ dinero
prueba { p>
thread.sleep(2000); //dormir
}
catch(excepción interrumpida){
ex .printstacktrace();
}
System.out.println("Quiero depositar:"+ahorrar _ dinero);
System.out.println("¡Depósito exitoso! El saldo de la cuenta corriente es: "+este. dinero);
}
}
}
}
//Salidas de implementación del método sincronizado.
dinero getbank vacío sincronizado público (doble get _ dinero){
if(Thread.currentThread().getName().
igual a (s2)){
for(int I = 1;i<3;i++){
if (money>=get_money){
this.money = this.money-get_money;
prueba {
thread.sleep(2000); //dormir
}
catch( excepción interrumpida){
ex . printstacktrace();
}
System.out.println("Quiero retirar dinero:"+obtener _ 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
}