Multicore und Synchronisation

Welches Merkmal von Lese-Schreib-Sperren (Reader-Writer-Lock) ist richtig?

  1. ABeliebig viele schreibende Threads können gleichzeitig eintreten, aber nur ein lesender
  2. BBeliebig viele nur lesende Threads können gleichzeitig eintreten, aber nur ein schreibender, und dann kann sonst niemand eintreten
  3. CSowohl beim Lesen als auch beim Schreiben kann stets nur ein Thread eintreten
Antwort und Erläuterung anzeigen

Antwort: B. Beliebig viele nur lesende Threads können gleichzeitig eintreten, aber nur ein schreibender, und dann kann sonst niemand eintreten

Gleichzeitiges Lesen zerstört keine Daten, daher erlaubt eine Lese-Schreib-Sperre den Lesern gleichzeitige Ausführung und macht nur die Schreiber exklusiv. Bei Daten, die oft gelesen und selten geändert werden, etwa einer Konfigurationstabelle, lässt sich so die Parallelität erhöhen. Reißen die Leser jedoch nicht ab, können Schreiber unter Umständen nie eintreten, weshalb manche Implementierungen Schreiber bevorzugen.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Multicore und Synchronisation

  1. Welche Verwendung eines Semaphors mit Zähler ist am treffendsten?
  2. Welcher Unterschied zwischen Cache-Kohärenz und Speicherkonsistenzmodell ist richtig?
  3. Welche Idee steckt hinter Hardware Transactional Memory?
  4. Warum wird beim Warten mit einer Bedingungsvariable auf „Warteschlange nicht mehr leer“ die Bedingung nach dem Aufwachen mit einer while-Schleife statt mit if erneut geprüft?
  5. Zwei Kerne besitzen jeweils in ihrem eigenen Cache eine Kopie der Variablen x. Welches Problem kann auftreten, wenn Kern 1 x liest, nachdem Kern 0 x geschrieben hat, und es keinen Cache-Kohärenz-Mechanismus gibt?

Vergleiche zu diesem Thema