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

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

  • Създайте и инициализирайте мютекс променлива

  • Няколко нишки се опитват да заключат мьютекса

  • Само една успява и тази нишка е собственик на мютекса

  • Нишката собственик на мютекса изпълнява някакъв набор от действия

  • Собственикът отключва мютекса

  • Друга нишка придобива мьютекса и повтаря процеса

  • Накрая мютексът се унищожава

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

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

Last updated