Lecture overview -- Keyboard shortcut: 'u'  Previous page: Skedulering af tråde i Java [Section] -- Keyboard shortcut: 'p'  Next page: Skedulering baseret på prioriteter i Java -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Page 20 : 41
Forelæsningsnoter i Objekt-orienteret Programmering
Samtidighed i Java
Indbyrdes fremdrift i tråde

Vi vil nu se på de mekanismer, som afgør hvilken tråd, der bliver udført på computeren på det givet tidspunkt

Hvilken tråd skal på et givet tidspunkt udføres på en computer med kun én CPU?

Kontrollen af den tidslige og indbyrdes ordning af en mængde handlinger i forskellige tråde kaldes skedulering

Skedulering betyder at arrangere eller kontrollere en mængde handlinger i forhold til hinanden i tidslig rækkefølge. I forhold til samtidighed indebærer skedulering beslutningen om hvilken tråd der skal udføres på computerens CPU på et bestemt tidspunkt

  • Mulige skeduleringsteknikker:

    • Round-robin: Tråde aktiveres cyklisk og skiftevis

      • Et retfærdighedsprincip hvor alle tråde regelmæssigt får chancen for at køre

    • Prioriteret skedulering: Højst prioriterede tråde aktiveres først

      • Kan føre til udsultning af lavt prioriterede tråde

      • Prioritering baseret på et estimat af køretid

        • Eksempel: 'shortest job first'

Skedulering af tråde i et Java program er baseret på prioriteter

Hver tråd i et Java program har tilknyttet et prioritetstal