Wat is Kritieke sectie (critical section)?

Deel van een programma dat gedeelde gegevens bewerkt en waarin maar één thread tegelijk mag draaien. Wordt met onder meer een lock beschermd en zo kort mogelijk gehouden.

Japanse benaming: クリティカルセクション

“Kritieke sectie (critical section)” komt voor in 2 oefenvragen uit 1 onderwerpen, bijv. Multicore en synchronisatie.

Vakgebied: Multicore en synchronisatie

Nu oefenen: vragen over Kritieke sectie (critical section)

Welke uitleg over een kritieke sectie is juist?

  1. AHet deel van het programma dat gedeelde gegevens bewerkt en waarvan slechts één thread tegelijk mag worden uitgevoerd
  2. BHet deel van het programma met de langste uitvoeringstijd
  3. CHet deel dat alleen wordt uitgevoerd als er een fout optreedt
Antwoord en toelichting tonen

Antwoord: A. Het deel van het programma dat gedeelde gegevens bewerkt en waarvan slechts één thread tegelijk mag worden uitgevoerd

Als meerdere threads tegelijk het deel uitvoeren dat een gedeelde variabele leest en wijzigt, ontstaat een data race. Zo'n deel dat slechts door één thread tegelijk mag worden uitgevoerd heet een kritieke sectie, en wordt beschermd door vóór het betreden een lock te nemen en bij het verlaten vrij te geven. Hoe langer de kritieke sectie, hoe langer andere threads wachten, dus het is het uitgangspunt haar zo kort mogelijk te houden.

“Kritieke sectie (critical section)” in de toelichting

Vragen met “Kritieke sectie (critical section)” (2)

  1. Welke uitleg over een kritieke sectie is juist?
  2. Welke uitleg van het idee van hardware transactional memory is juist?

Verwante termen

Data race Transactional memory ABA-probleem Acquire-release Atomaire instructie Barrièresynchronisatie Compare-and-swap Conditievariabele Deadlock Directorygebaseerde coherentie (directory-based)

Naar de woordenlijst