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