Page 12 : 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
Interfacet Runnable
Metoden run, specificeret i interfacet Runnable, er udgangspunktet for tråde i Java
Interfacet Runnable udgør grundlaget for enhver tråd i Java
Karakteristik af Runnable
Et meget simpelt interface
Annoncerer kun én metode, som hedder
run
Metoden
run
i en klasse som implementerer
Runnable
er udgangspunktet for udførelsen af en tråd i Java
Spiller sammen med klassen
Thread
når en tråd skal startes og udføres
Interfacet Runnable i pakken java.lang