Multicore en synchronisatie

Welke eigenschap van een lees-schrijflock (reader-writer lock) is juist?

  1. AEen willekeurig aantal schrijvende threads kan tegelijk binnen, maar slechts één lezende thread
  2. BEen willekeurig aantal alleen lezende threads kan tegelijk binnen, maar slechts één schrijvende thread, en dan kan niemand anders binnen
  3. CZowel bij lezen als bij schrijven kan altijd maar één thread binnen
Antwoord en toelichting tonen

Antwoord: B. Een willekeurig aantal alleen lezende threads kan tegelijk binnen, maar slechts één schrijvende thread, en dan kan niemand anders binnen

Alleen lezen tegelijk beschadigt de gegevens niet, dus een lees-schrijflock staat gelijktijdige uitvoering van lezers toe en maakt alleen schrijvers exclusief. Het parallellisme kan worden verhoogd bij gegevens die vaak worden gelezen en zelden gewijzigd, zoals een instellingentabel. Als lezers elkaar zonder onderbreking opvolgen, komt een schrijver soms nooit binnen, dus sommige implementaties geven voorrang aan schrijvers.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Multicore en synchronisatie

  1. Wat is het meest passende gebruik van een tellende semafoor?
  2. Welk verschil tussen cachecoherentie en een geheugenconsistentiemodel is juist?
  3. Welke uitleg van het idee van hardware transactional memory is juist?
  4. Waarom wordt bij een conditievariabele, wanneer wordt gewacht tot de wachtrij niet meer leeg is, na het ontwaken de voorwaarde opnieuw gecontroleerd met een while-lus in plaats van een if-opdracht?
  5. Twee cores hebben elk in hun eigen cache een kopie van variabele x. Welk probleem kan optreden wanneer core 1 x leest nadat core 0 naar x heeft geschreven, als er geen cachecoherentiemechanisme is?

Vergelijkingen bij dit onderwerp