Multicore en synchronisatie
Welke uitleg over een spinlock is juist?
- AEen lock waarbij de thread slaapt en door het besturingssysteem wordt gewekt tot de lock vrij is
- BEen lock waarbij wordt gewacht door in een lus voortdurend de lockvariabele te controleren tot de lock vrij is
- CEen mechanisme waarbij een schijf wordt rondgedraaid om gegevens te beschermen
Antwoord en toelichting tonen
Antwoord: B. Een lock waarbij wordt gewacht door in een lus voortdurend de lockvariabele te controleren tot de lock vrij is
Een spinlock probeert met een atomaire instructie de lock te nemen en probeert het, als dat niet lukt, direct opnieuw. Omdat de moeite van het besturingssysteem aanroepen om te slapen en te ontwaken ontbreekt, werkt het snel wanneer de lock zeer kort wordt vastgehouden. Het wordt veel gebruikt in de kernel van het besturingssysteem en voor uitsluiting met interrupthandlers. Het nadeel is dat tijdens het wachten ook CPU-tijd wordt gebruikt.