Lecture overview -- Keyboard shortcut: 'u'  Previous page: Eksempel på synkronisering: SynkroniseretKonto -- Keyboard shortcut: 'p'  Next page: Trådsikre klasser -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Page 29 : 41
Forelæsningsnoter i Objekt-orienteret Programmering
Samtidighed i Java
Detaljer om synkroniserede metoder

Vi giver her en række detaljer om synkroniserede metoder i Java

  • Synkroniserede metoder:

    • En synkroniseret metode låser ét objekt, ikke alle objekter i en klasse

    • En synkroniseret metode er mere end blot definitionen af metodens krop som kritisk region

      • Ingen andre tråde kan tilgå nogen metode i objektet

    • En synkroniseret metode kan aktivere en anden synkroniseret metode i samme objekt

      • 'Locks are reentrant'

    • Det er unødvendigt at synkronisere konstruktorer

    • Det er tilladt at redefinere en synkroniseret metode med en ikke synkroniseret metode

    • Statiske metoder kan være synchronized

      • Sikrer gensidig udelukkelse af andre statiske metoder på klassen

      • Låser ingen instanser af klassen

Årsagen til, at kontruktorer ikke skal synkroniseres er, at objektet skal skabes inden der er behov for konflikter ved samtidig tilgang. Og vi er netop igang med at skabe (initialisere) objektet i en konstruktor