deadlock |
Здравствуйте, гость ( Вход | Регистрация )
deadlock |
zss |
24.6.2009, 15:00
Сообщение
#1
|
Участник Группа: Участник Сообщений: 112 Регистрация: 9.6.2009 Пользователь №: 815 Спасибо сказали: 0 раз(а) Репутация: 0 |
ситуация следующая.
Есть QMainWidow у которого есть потоковый метод. Он крутиться по флагу, вычитывает данные и посылает событие.
так вот иногда происходит висяк. Преположение в том, что customEvent для QMainWindow работает в первичном потоке и stop() тоже работает в первичном потоке. Так вот если я выставил флаг и жду, то первичный поток блокируется. В этот момент мой поток прочитал данные, и пытается послать событие. Может ли в данном случае быть deadlock или postEvent отработает всегда ? Если так, то где может быть висяк и как его разрулить ? |
|
|
SABROG |
24.6.2009, 16:01
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Висяк из-за того, что ты "захламляешь" очередь событий.
Тут в любом случае sleep()'a не хватает. |
|
|
BRE |
24.6.2009, 16:07
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
|
|
|
Текстовая версия | Сейчас: 22.12.2024, 19:06 |