# 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"