быдлокодер
1721 / 908 / 106
Регистрация: 04.06.2008
Сообщений: 5,643
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Как аннулировать потоки, которые заблокированы по переменной условия (pthread)?11.02.2012, 17:54. Показов 1090. Ответов 5
Метки нет Все метки)
(
И никак, что ли не аннулировать, получается?
Вот, допустим, есть несколько потоков которые заблокированы по переменной условия:
А щас у меня на очереди две операции (в таком порядке)
Вывод: спеова аннулируем, потом посылаем сигнал. Тоже плохо!
Что же делать, ребята? Спасибо, кто откликнется!
0
|
|
11.02.2012, 17:54 | |
Ответы с готовыми решениями:
5
Потоки в pthread Заставить pthread подождать, до выполнения условия
|
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
|
|
11.02.2012, 18:31 | 2 |
где выбрал, как выбрал, и где и для чего анлок?
т.е где это Добавлено через 3 минуты могу, конечно, догадываться, что якобы разблокировал в (1) но если так, то при блокировании в ф-ии pthread_cond_wait мьютекс итак разблокирован
0
|
быдлокодер
1721 / 908 / 106
Регистрация: 04.06.2008
Сообщений: 5,643
|
|||||||||||
11.02.2012, 19:06 [ТС] | 3 | ||||||||||
Ну я выбираю потоки КАК ХОЧУ. А вообще у меня есть массив переменных pthread_t из 10-ти элементов, вот я из них выбираю... Рандомно две штуки, нормально?
+++++++++++++++++++++++++++++++++++++++++++= А я не сказал сразу, надо было сказать, вот есть допустим 10 вспомогательных потоков, а есть один основной. Вот в основном-то и делается рандомный выбор подлежащих уничтожению, потом
И аннулирование и посылание сигнала тоже происходит в основном потоке, а остальные стоят тут и ждут
0
|
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
|
|||||||||||
11.02.2012, 19:57 | 4 | ||||||||||
все-таки не пойму что и зачем разблокируется здесь
ааа вот ты о чем. сори не вчитывался. посмотри в сторону pthread_cleanup_* и спокойно юзай
1
|
быдлокодер
1721 / 908 / 106
Регистрация: 04.06.2008
Сообщений: 5,643
|
|
11.02.2012, 20:06 [ТС] | 5 |
Ага, хотелось было похвастаться, самостоятельно найденным решением ну да ладно. Деструктор потока работает тьфу-тьфу-тьфу.
Если бы и щас переспрашивали, я бы pthread_mutex_unlock (&mutex); Убрал на фиг, она для понимания только лишняя!
0
|
![]() |
|
11.02.2012, 23:50 | 6 |
kravam, все твои темы лечат последствия криво спроектированной логики.
зри в корень.
0
|
11.02.2012, 23:50 | |
Помогаю со студенческими работами здесь
6
Как дать пользователю домена разрешение аннулировать (Reset) свой пароль Как в теле цикла поменять значение переменной из условия? Условия IF ELSE как выполнить операторы если переменной НЕсуществует Условия и потоки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |