March 9, 2021
in1010-uke9-forelopig.pdf
Forrige forelesning (beholdere og generiske klasser del 2) Neste forelesning (tråder 2)
Lecture outline:
- Hva er parallelle programmer?
- Hvorfor parallelle programmer?
- Hvordan kan dette skje på én kjerne/CPU/prosessor ?
- Hvordan kan dette skje med flere kjerner/CPU-er/prosessorer?
- På engelsk: Parallel vs Concurrent computing
- Hva er en prosess? - Hva er en tråd?
- Tråder i Java
- Hvordan bruker vi tråder
- Oppdateringsproblemet (race conditions)
• Samtidig oppdatering av felles data
• Løsningen: Kritiske regioner og monitorer
Hva er parallelle programmer?
Parallel vs concurrent programming
- Parallel - to programmer får på samme tidspunkt utført hver sin instruksjon
(må da ha flere kjerner/CPU-er/prosessorer)
- Concurrent - maskinen (kjernen/CPU-en/prosessoren) skifter så raskt
mellom programmene at du ikke merker det (flere ganger i sekundet), men den fortsatt skifter.
- Uansett om programmene går virkelig (parallel) eller tilsynelatende (concurrent) samtidig, må de behandles som om de går virkelig samtidig.
Hva er en tråd?