Back to slide -- Keyboard shortcut: 'u'  next  next  SikkerBank1.java - En bank som opstarter to filialer der gennemfører ens transaktioner.Lecture 14 - slide 32 : 41
Program 2

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