Multicore und Synchronisation
Welche Aussage zu Spinlocks ist richtig?
- AEine Sperre, bei der der Thread schläft und vom Betriebssystem geweckt wird, bis die Sperre frei ist
- BEine Sperre, bei der in einer Schleife die Sperrvariable immer wieder geprüft wird, bis die Sperre frei ist
- CEin Mechanismus, der Daten schützt, indem die Festplatte rotiert
Antwort und Erläuterung anzeigen
Antwort: B. Eine Sperre, bei der in einer Schleife die Sperrvariable immer wieder geprüft wird, bis die Sperre frei ist
Ein Spinlock versucht, die Sperre mit einem atomaren Befehl zu erhalten, und wiederholt bei Misserfolg sofort den Versuch. Da der Aufwand entfällt, das Betriebssystem aufzurufen und zu schlafen bzw. aufzuwachen, arbeitet er schnell, wenn die Sperre nur sehr kurz gehalten wird. Er wird häufig im Betriebssystemkern und für den gegenseitigen Ausschluss mit Interrupt-Handlern verwendet. Nachteil ist, dass auch beim Warten weiter CPU-Zeit verbraucht wird.