Exercise index of this lecture   Alphabetic index   Course home   

Exercises
Samtidighed i Java


14.1   Opgave om logging af transaktioner i en bank med filialer  

I forlængelse af ovenstående eksempel, hvor to filialer i en bank opererer samtidigt på fælles konti, bedes I indføre en BankLogging klasse, som skal holde styr på følgende:
    Hvilke operationer der udføres på de forskellige konti i banken Klokkeslæt for gennemførelsen af en transaktion Rækkefølgen af transaktionerne
En instans af klassen BankLogging overføres til alle Konto objekter. Når der gennemføres en transaktion på en konto registreres forskellige data om transaktionen i loggen.

Vi kan bl.a. bruge denne log til at finde ud af i hvilken rækkefølge operationerne udføres fra de to samtidigt udførende filialer i eksemplet ovenfor.

Hvad angår tidsbehandling henvises til metoden getTime mv. i klassen java.util.Calendar.

 


14.2   Opgave om synkroniserede skjalde  

I forlængelse af ovenstående eksempel kan man observere, at hvis den ene sang synges (f.eks.) 2 gange, og den anden sang 4 gange kører det samlede Java program aldrig til ende.

    Studer programmet og overbevis dig selv om årsagen til dette problem
Indfør nu en forandring i programmet, således at 'rest vers' fra den lange sang bliver sunget efter at den korte sang er sunget til ende
 

Solution


Generated: Monday March 31, 2008, 12:09:56
on the system cs-unix