Effetti della non sincronizzazione nei Thread

Realizzare una classe ContoCorrente e due sottoclassi di Thread: BancomatA e BancomatB, che accedono allo stesso conto corrente. Simulare la situazione seguente: A e B prelevano quasi contemporaneamente dallo stesso conto corrente e non essendoci la sincronizzazione attivata riescono a prelevare una cifra superiore a quella disponibile sul conto.

Senza la sincronizzazione
Richiesto un prelievo da € 800.0
Richiesto un prelievo da € 750.0
Prelevato l’importo di € 750.0
Prelevato l’importo di € 800.0
Il saldo corrente è ora di € 200.0
Il saldo corrente è ora di € -550.0

Con la sincronizzazione
Richiesto un prelievo da € 800.0
Prelevato l’importo di € 800.0
Il saldo corrente è ora di € 200.0
Richiesto un prelievo da € 750.0
Non è possibile prelevare: il saldo è di € 200.0

Progetto Eclipse: ContoCorrente.zip