1. Paweł Wieczorek
  2. libpwuthread

Commits

Paweł Wieczorek  committed 87abb4b

  • Participants
  • Parent commits b77bfa7
  • Branches default

Comments (0)

Files changed (1)

File doc/index.tex

View file
 
 Zamki typu \T{mutex} obsługują wewnątrz kolejkę FIFO, do której są dołączane
 wątki oczekujące na~wejście do sekcji krytycznej (na zamknięcie zamka).
-Użycia kolejki FIFO wyklucza możliwość, że jeden wątek oczekujący na~zamek
+Użycie kolejki FIFO wyklucza możliwość, że jeden wątek oczekujący na~zamek
 będzie oczekiwał w~nieskończoność, kiedy inne będą swobodnie synchronizować
 się na~tym samym zamku. Podczas odblokowywania zamka jest wyznaczany
 jego nowy właściciel - jest nim najdłużej dotąd oczekujący wątek.
 
-Zmienne warunkowe również operują na kolejkach FIFO
+Zmienne warunkowe również operują na kolejkach FIFO zapamiętując wątki
+oczekujące na~zdarzenie. Ponieważ wątki są usypiane będąc wewnątrz
+sekcji krytycznej to zapamiętywany w~stukturze wątku
+jest również \T{mutex} za nią odpowiedzialny. Rozkaz obudzenia wątku
+jest implementowany przez przeniesienie go do kolejki wątków oczekujących
+na~jego zablokowanie. Można to zainterpretować tak, że aby powrócić
+do~sekcji krytycznej, w której wątek został uśpiony - biblioteka emuluje
+wywołanie \T{mutex\_lock} po jego wybudzeniu.
+
 
 
 \subsection{Prywatne dane wątku.}