Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
(Модератор:
Вад
) > Тема:
Как убрать Deadlock?
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Как убрать Deadlock? (Прочитано 7201 раз)
0 Пользователей и 1 Гость смотрят эту тему.
dark_rain
Помогающий
Offline
Пол:
Как убрать Deadlock?
«
:
30-08-2011 14:47 »
Ситуация следующая, вторичный поток посылает сообщение основному, и ждет когда тот его обработает что бы вернуть управление, в общем не дожидается - виснет. Как красиво выйти из такой ситуации?
Записан
Dimka
Деятель
Команда клуба
Offline
Пол:
Re: Как убрать Deadlock?
«
Ответ #1 :
30-08-2011 15:24 »
dark_rain
, совершенно непонятное описание. Первый поток формирует событие для второго потока о чём-то и ждёт другого события от первого потока? А второе событие возникает?
Записан
Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Ochkarik
Команда клуба
Offline
Пол:
Re: Как убрать Deadlock?
«
Ответ #2 :
30-08-2011 15:37 »
Цитата
Как красиво выйти из такой ситуации?
- выйти по таймауту!
Записан
RTFM
уже хоть раз наконец!
:[ ну или хотя бы
STFW
...
dark_rain
Помогающий
Offline
Пол:
Re: Как убрать Deadlock?
«
Ответ #3 :
30-08-2011 15:56 »
Dimka
, приношу извинения, просто не хотел углубляться в код.
Цитата: Ochkarik от 30-08-2011 15:37
Цитата
Как красиво выйти из такой ситуации?
- выйти по таймауту!
Так и сделал, спасибо.
Записан
Ochkarik
Команда клуба
Offline
Пол:
Re: Как убрать Deadlock?
«
Ответ #4 :
30-08-2011 16:23 »
еще можно делать подтверждение приема и перезапрос, если важно.
Записан
RTFM
уже хоть раз наконец!
:[ ну или хотя бы
STFW
...
dark_rain
Помогающий
Offline
Пол:
Re: Как убрать Deadlock?
«
Ответ #5 :
05-09-2011 14:56 »
Сначала выходил по таймауту, а потом нашел проблему, грамотно расставил мютексы и все заработало. Спасибо за проявленное внимание.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
(Модератор:
Вад
) > Тема:
Как убрать Deadlock?
Загружается...