---
# System prepended metadata

title: L1 - zarys teoretyczny (bez wyprowadzenia wzorów)

---

# L1 - zarys teoretyczny (bez wyprowadzenia wzorów)

* **sekcja krytyczna** (ciritcal section) - blok kodu, który może być wykonywany tylko przez jeden wątek w jednym czasie
* **wzajemne wykluczenie** (mutual exclusion) - w jednym czasie co najwyżej jeden wątek zajmuje lock'a
* **niezakleszczenie** (deadlock-freedom) - jeśli wątek próbuje zająć/zwolnić lock'a, jakiś wątek ostatecznie zajmie/zwolni lock'a. W algorytmie, który nie ma gwarancji niezakleszczenia, wątki mogą zaciąć się w metodach lock/unlock. 
* **niezagłodzenie** (starvation-free) - każdemu wątkowi, który próbuje zająć/zwolnić lock'a, w końcu się to uda

(niezagłodzenie implikuje niezakleszczenie)

"deadlock-freedom guarantees that some thread makes progress and starvation-freedom guarantees that every thread makes progress provided the lock is not held by some other thread"