ciao a tutti.
ho una domanda da fare sui thread.
io ho questo:
codice:
package contocorrente;
public class Banca2 {
private int saldo;
public Banca2(int saldo) {
this.saldo = saldo;
}
synchronized public void operazione(int s) {
if (saldo + s < 0) {
System.out.println("Impossibile effettuare l'addebito " + s + " perchè il saldo è " + saldo);
} else {
saldo += s;
System.out.println("Modifica di " + s + " effettuata, Il tuo saldo è: " + saldo);
try {
Thread.sleep(2000);
} catch (Exception e) {
System.out.println("Errore " + e.getMessage());
}
}
}
}
class Modifica implements Runnable {
Banca2 banca;
int modifica;
public Modifica(Banca2 banca, int modifica) {
this.banca = banca;
this.modifica = modifica;
new Thread(this).start();
}
public void run() {
banca.operazione(modifica);
}
}
che viene richiamato dal main così:
codice:
package contocorrente;
public class Main {
public static void main(String[] args) {
Banca2 banca2 = new Banca2(0);
new Modifica(banca2, 500);
new Modifica(banca2, 300);
new Modifica(banca2, -3000);
new Modifica(banca2, 700);
}
}
io vorrei che se il saldo va sotto lo zero il processo si blocchi.
in aula nn affronteremo questo discorso perchè troppo lungo/complicato per il corso che sto facendo.
voi sapreste aiutarmi?'