crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

gpepsi
  опции профиля:
сообщение 30.9.2011, 13:48
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 73
Регистрация: 31.3.2010
Пользователь №: 1582

Спасибо сказали: 0 раз(а)




Репутация:   0  


Использовал сигнал из потока. Обработчик слота находился в другом потоке.
Заметил, что сигнал не доходит.

Поставил Qt::DirectConnection. Сигнал стал приходить.
Но читая про него обнаружил еще и Qt::BlockingQueuedConnection, про который было написано, что он предназначен для
работы из различных потоков и так же блокирует очередь. Но есть коментарий, что этот сигнал может привести
к deadlock-у.

В чем тогда различае между ними, если оба блокируют, но только второй может зависнуть.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 1.10.2011, 22:55
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


при работе между потоками нужно использовать Авто (AutoConnection) или Через Очередь (QueuedConnection)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 21.8.2025, 18:50