Lecture overview -- Keyboard shortcut: 'u'  Previous page: Vores programmering indtil nu... -- Keyboard shortcut: 'p'  Next page: Afgrænsning -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Page 3 : 41
Forelæsningsnoter i Objekt-orienteret Programmering
Samtidighed i Java
Naturlig samtidighed

Det er velkendt fra utallige hverdagssituationer at ting foregår samtidigt. Dette 'fact of life' har vi naturligvis lyst til at kunne overføre til de handlinger, som foreskrives i de programmer, vi laver. Dette fænomen vil vi her diskutere under overskriften 'naturlig samtidighed'.

I mange programmer findes der naturligt et antal forløb, som kan udføres samtidigt

  • Samtidige forløb:

    • Velkendt fra den virkelige verden

    • Derfor naturlig i vores modellering af den virkelige verden med henblik på programmering af EDB-systemer

    • Derfor attraktivt at understøtte i programmeringssprog

Som et eksempel på samtidighed fra vores hverdag kan vi tænke på handlinger, som udføres af to eller flere personer. Hvis vi ønsker at simulere dette på en computer i et sekventielt programforløb kan dette blive ganske svært. Vi vil måske i en første simpel løsning skiftevis simulere en handlig fra den ene person efterfulgt af en handling fra den anden person. I en mere realistisk simulering bliver vi nødt til at tage hensyn til, at den ene person kan udføre mange handlinger i et tidrum, hvor den anden person er inaktiv. Det vil være særdeles ønskværdigt at kunne modellere de to personers samtidige handlinger mere naturligt i et program.

Uden programmeringsunderstøttelse af samtidighed tvinges vi til at sekventiere samtidige handlinger på en bestemt måde

En påtvungen sekventiering af naturlig samtidighed giver ofte komplekse og uigennemskuelige programmer