Kiedy potrzebna jest zmienna warunkowa, czy nie jest wystarczający muteks?

Jestem pewien, że mutex nie wystarczy, dlatego istnieje pojęcie zmiennych warunkowych; ale bije mnie i nie jestem w stanie przekonać się konkretnym scenariuszem, gdy zmienna warunku jest niezbędna.

Różnice między zmiennymi warunkowymi, mutacjami i blokadami przyjęta odpowiedź na pytanie mówi, że zmienna warunku to a

zamek z mechanizmem „sygnalizacji”. Jest używany, gdy wątki muszą czekać, aż zasób stanie się dostępny. Wątek może „czekać” na CV, a następnie producent zasobów może „zasygnalizować” zmienną, w którym to przypadku wątki, które czekają na CV, zostają powiadomione i mogą kontynuować wykonywanie

Gdzie jestem zdezorientowany, że wątek może również czekać na muteksie, a kiedy zostanie zasygnalizowany, oznacza to, że zmienna jest teraz dostępna, dlaczego miałbym potrzebować zmiennej warunkowej?

P.S: Ponadto, mutex jest wymagany do ochrony zmiennej warunkowej, gdy sprawia, że ​​moja wizja jest bardziej skośna w kierunku niewidocznego celu zmiennej warunkowej.

questionAnswers(6)

yourAnswerToTheQuestion