Page 5 : 41
Forelæsningsnoter i Objekt-orienteret Programmering
Samtidighed i Java
* Introduktion og motivation
Vores programmering indtil nu...
Naturlig samtidighed
Afgrænsning
Terminologi
* Begreber og problemstillinger
Grundliggende antagelser
Oversigt over væsentlige problemstillinger
Samtidighed i forhold til OOP
* Tråde i Java
Trådbegrebet i Java
Interfacet Runnable
Trådskabelse gennem subklasse af Thread
Trådskabelse ved implementering af Runnable
Egenskaber af klassen Thread
Eksempel på et program med tråde: Skjald
Mulige tilstande af en tråd i Java
Tråde i forhold til Swing
* Skedulering af tråde i Java
Indbyrdes fremdrift i tråde
Skedulering baseret på prioriteter i Java
Eksempel på prioriteter: Prioriterede sange
Tommelfingerregler for prioritering
* Synkronisering af tråde i Java
Interferens mellem tråde
Kritiske regioner
Synkroniserede metoder
Eksempel på synkronisering: SynkroniseretKonto
Detaljer om synkroniserede metoder
Trådsikre klasser
Java's synchronized kommando
Synkroniserede konti via synchronized kommandoer
Monitorer
Synkronisering: For lidt og for meget
Eksempel på et program med synkronisering: Producent og Forbruger
Wait og notify
Wait og Notify idioms
Eksempel på et program med synkronisering: Synkroniseret Sangkor
Skedulerende og synkroniserende metoder: oversigt
* Trådgrupper
Trådgrupper
Terminologi
Vi vil ikke her gå i pedantiske detaljer om terminologi, men blot bemærke at også inden for dette område bruges der mange forskellige ord
Der benyttes mange forskellige ord når man interesserer sig for samtidighedsemner
Dansk
Engelsk
Samtidighed
Concurrency
Parallelitet
Parallelism
Proces
Process
Tråd
Thread
-
Task
En række ord på dansk og engelsk som benyttes når vi interesserer os for samtidighed