Multicore en synchronisatie

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.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Multicore en synchronisatie

  1. Welke uitleg over barrièresynchronisatie, gebruikt in parallelle programma's, is juist?
  2. Als 64 cores voortdurend gelijktijdig één gedeelde teller met atomaire instructies bijwerken, wordt het niet sneller door meer cores. Wat is de belangrijkste reden?
  3. Welke uitleg over een NUMA-systeem (Non-Uniform Memory Access) is juist?
  4. Waarop moet worden gelet bij het first-touch-beleid dat vaak wordt gebruikt in Linux-NUMA-systemen (een pagina wordt geplaatst in het geheugen van het knooppunt waarop de thread draait die er het eerst naar schrijft)?
  5. Welke van de volgende is geen oorzaak dat de prestaties van een parallel programma niet naar verwachting stijgen als het aantal cores wordt vergroot?

Vergelijkingen bij dit onderwerp