crossplatform.ru

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

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


Студент
*

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

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




Репутация:   0  


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

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

В чем тогда различае между ними, если оба блокируют, но только второй может зависнуть.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Гость_lanz_*
сообщение 14.8.2012, 13:49
Сообщение #2





Гости








    


MoPDoBoPoT все правильно говорит.
QObject::connect(&sender, SIGNAL(send()), &receiver, SLOT(receive()), Qt::QueuedConnection);

    sender.start();
    sender.wait();
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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


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