Оба потока блокируются при вызове boost :: mutex :: lock () - PullRequest
0 голосов
/ 06 октября 2011

У меня есть boost :: mutex, который используется в двух потоках. Первый поток постоянно блокирует и разблокирует мьютекс. Второй поток использует мьютекс только при определенных условиях. Когда это условие происходит, оба потока блокируются на блокировке. Что может быть причиной этого?

Несколько случайных фактов о моей программе: мьютекс - это элемент данных класса, совместно используемый двумя потоками. Во втором потоке я передаю указатель на мьютекс функции, которая его использует, но в первом потоке я использую мьютекс по ссылке.

1 Ответ

1 голос
/ 06 октября 2011

Помните ли вы, чтобы разблокировать мьютекс в главном потоке после того, как вы сообщили о состоянии?Вы попали в тупиковую ситуацию?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...