Zestawy rozmówBlog

Twoja wymarzona praca? Lets Git IT.
Interaktywna platforma przygotowująca do rozmów technicznych dla nowoczesnych programistów.

XGitHub

Platforma

  • Kategorie

Zasoby

  • Blog
  • O aplikacji
  • FAQ
  • Sugestie

Prawne

  • Polityka prywatności
  • Regulamin

© 2026 LetsGit.IT. Wszelkie prawa zastrzeżone.

LetsGit.IT/Kategorie/Systemy operacyjne
Systemy operacyjnemedium

Mutex vs semafor vs read-write lock — kiedy używasz którego?

Tagi
#mutex#semaphore#rw-lock
Wróć do kategoriiPrzejdź do quizu

Odpowiedź

Mutex zapewnia wyłączność, semafor kontroluje dostęp do ograniczonej liczby zasobów, a read-write lock pozwala na wielu czytelników lub jednego pisarza. Wybór zależy od wzorca dostępu i kontencji.

Odpowiedź zaawansowana

Głębiej

Dobierz prymityw do wzorca:

  • Mutex: jeden właściciel, najprostszy, dobry do krótkich sekcji krytycznych.
  • Semafor: ogranicza współbieżność (np. połączenia DB).
  • RW lock: wielu czytelników, mało zapisów; uważaj na starvation pisarzy.

Przykłady

Semafor dla poola połączeń:

max 20 połączeń DB -> semafor(20)

Typowe pułapki

  • RW lock przy częstych zapisach (gorszy niż mutex).
  • Brak release semafora przy błędach.
  • Zbyt długie trzymanie locków.

Pytania uzupełniające na rozmowie

  • Jak unikasz starvation pisarzy?
  • Kiedy mutex jest szybszy niż RW lock?
  • Czym jest spinlock i kiedy ma sens?