Multicore en synchronisatie
Welke uitleg over een kritieke sectie is juist?
- AHet deel van het programma dat gedeelde gegevens bewerkt en waarvan slechts één thread tegelijk mag worden uitgevoerd
- BHet deel van het programma met de langste uitvoeringstijd
- 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.