PTHREAD: Когда следует создать еще один мьютекс? - PullRequest
0 голосов
/ 12 июля 2020

У меня такой вопрос:

когда я работаю над проблемой синхронизации, как мне узнать, когда мне нужен новый мьютекс?

есть ли здесь какая-то общая идея? например, «создать мьютекс для каждого предиката проблемы взаимного исключения», что, я думаю, имеет место для условных переменных.

всегда ли достаточно одного мьютекса? должен ли я иметь мьютекс для каждой переменной условия?

Одним из примеров является проблема, над которой я сейчас работаю для школы, а именно проблема поездов на мосту (два направления и только один поезд на мосту в любом time).

У меня есть мьютекс и несколько условных переменных. одно резюме касается того, идет ли поезд на мосту, два - если поезда ждут. нам нужно много мьютексов и условных переменных. глобальная переменная), но, чтобы не победить дохлую лошадь, как мне узнать, что одного мьютекса будет недостаточно?

Заранее благодарю вас за любые рекомендации.

...