> For the complete documentation index, see [llms.txt](https://dimitar-minchev.gitbook.io/linux-system-programming/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dimitar-minchev.gitbook.io/linux-system-programming/09_threads_sync/08_use_of_mutexes.md).

# Типична употреба на мютекси

Типична последователност при използването на мютекс е както следва:

* Създайте и инициализирайте мютекс променлива
* Няколко нишки се опитват да заключат мьютекса
* Само една успява и тази нишка е собственик на мютекса
* Нишката собственик на мютекса изпълнява някакъв набор от действия
* Собственикът отключва мютекса
* Друга нишка придобива мьютекса и повтаря процеса
* Накрая мютексът се унищожава

Когато няколко нишки се състезават за мютекс, губещите блокират при това повикване, но е възможно да се използва метод **trylock()**, при който губещите нишки няма да бъдат блокирани.

Когато защитава споделените данни, всяка нишка, която трябва да използва мютекс, трябва да го направи. Например, ако 4 нишки актуализират едни и същи данни, но само една използва мютекс, данните все още могат да бъдат повредени.
