Lecture overview -- Keyboard shortcut: 'u'  Previous page: Monitorer -- Keyboard shortcut: 'p'  Next page: Eksempel på et program med synkronisering: Producent og Forbruger -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Page 34 : 41
Forelæsningsnoter i Objekt-orienteret Programmering
Samtidighed i Java
Synkronisering: For lidt og for meget

Vi dvæler her ved retningslinier for hvor store programdele der bør findes i synkroniserede metoder

Anvendelse af synkronisering er en balancegang mellem 'for lidt' og 'for meget'

  • For lidt synkronisering:

    • To tråde 'træder hinanden over tæerne'

    • Inkonsistens pga. af samtidig adgang til fælles ressourcer

  • For meget synkronisering:

    • To tråde tvinges reelt til at blive udført sekventielt

    • Dårlig respons idet hændelser i den ene tråd ikke har en chance for at blive håndteret

Når vi siger 'for meget synkronisering' tænker vi på situationen hvor to eller flere tråde udføre store dele af tråden inden for en synkroniseret metode. Derved er det objekt, hvor metoden er placeret, låst. Hermed kan ingen andre udføre metoder på objektet

Synkroniserede metoder bør lige netop beskytte fælles ressourcer for udelelig tilgang

Udførelse af andre programdele inden for rammerne af synkroniserede metoder er upassende