| class SikkerBank1 {
public static void main( String[] args ) {
final Konto konto1 = new Konto("Jens");
final Konto konto2 = new Konto("Peter");
// Filial 1:
(new Thread ()
{ public void run() {
synchronized(konto1){
konto1.indsæt(100);
}
synchronized(konto2){
konto2.indsæt(500);
}
synchronized(konto1){
konto1.tilskrivRente();
}
synchronized(konto2){
konto2.hæv(125);
}
synchronized(konto1){
konto1.overførFra(25, konto2);
}
synchronized(konto1){
System.out.println(konto1);
}
synchronized(konto2){
System.out.println(konto2);
}
}
}).start();
// Filial 2:
(new Thread ()
{ public void run() {
synchronized(konto1){
konto1.indsæt(100);
}
synchronized(konto2){
konto2.indsæt(500);
}
synchronized(konto1){
konto1.tilskrivRente();
}
synchronized(konto2){
konto2.hæv(125);
}
synchronized(konto1){
konto1.overførFra(25, konto2);
}
synchronized(konto1){
System.out.println(konto1);
}
synchronized(konto2){
System.out.println(konto2);
}
}
}
).start();
}
} // End SikkerBank1 |