Lecture overview -- Keyboard shortcut: 'u'  Previous page: Skedulering baseret på prioriteter i Java -- Keyboard shortcut: 'p'  Next page: Tommelfingerregler for prioritering -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Page 22 : 41
Forelæsningsnoter i Objekt-orienteret Programmering
Samtidighed i Java
Eksempel på prioriteter: Prioriterede sange

Vi forsøger nu på en konkret måde at illustrerer nogle af ovenstående prioritetsforhold ved at arbejde videre på Skjald eksemplet

Nedenstående eksempel viser (var tiltænkt at vise) at den højst prioriterede tråd vedbliver med at udsulte lavere prioriterede tråde

/user/normark/courses/prog1/prog1-01/sources/java/noteEksempler/Sangkor2.javaKlassen Skjald hvor et vers synges uden 'sleep' mellem stroferne.

Klassen Skjald hvor et vers synges uden 'sleep' mellem stroferne. Efter et vers er der mulighed for en pause, hvis forsinkelse er sat til et positivt heltal

/user/normark/courses/prog1/prog1-01/sources/java/noteEksempler/Sangkor2.javaKlassen Sangkor, som starter to forskelligt prioriterede skjalde (tråde).

Klassen Sangkor, som starter to forskelligt prioriterede skjalde (tråde). Skjalden som synger 'Glade Jul' er højere prioriteret end skjalden, der synger 'Mester Jakob'. På grund af skeduleringsreglerne i Java bliver alle 3 vers af 'Glade Jul' derfor sunget før de 3 vers af 'Mester Jakob', jf. nedenstående output af programmet

/user/normark/courses/prog1/prog1-01/sources/java/noteEksempler/Sangkor2.javaDet samlede program med klasserne Skjald og Sangkor.

Det samlede program med klasserne Skjald og Sangkor.

/user/normark/courses/prog1/prog1-01/sources/java/noteEksempler/Sangkor2OutputMuligt output fra ovenstående program.

Muligt output fra ovenstående program. Vi siger igen 'muligt output', idet andre skeduleringer stadigvæk ikke kan udelukkes

Skulle det ske (en særlig dag, på et obskurt Java system, ...) at den lavere prioriterede tråd fik køretid på bekostning af den højere prioriterede tråd ville dette ikke være at opfatte som en fejl

Det er meget svært at eftervise skedulerings konsekvenserne af den indbyrdes tråd prioritering i Java

De fleste former for observation påvirker skeduleringen

Viden om egenskaberne ved skeduleringen af tråde må ikke benyttes i forbindelse med ræsonnementer om programmets korrekthed

Den indbyrdes hastighed af trådene i et Java program er grundliggende ukendt