crossplatform.ru

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


  Ответ в Межпоточное взаимодействие (Qt 4.3.3)
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
BRE Дата 24.3.2009, 17:41
 
Цитата(flankerr @ 24.3.2009, 17:32) *
ну т.е. моё предыдущие утверждение верно?

тогда другой вопрос - это утверждение верно только если объект посылающий сигнал создан от клаасса унаследованного от QThread ?
или (ну а вдруг) прокатит множественное наследовнаие QObject для сигнала и некий другой класс потока (не Qt) ??

Есть два объекта, например наследника от Object, созданные в контекстах двух разных потоках.
Когда один объект посылает сигнал второму, происходит следующее:
в очередь сообщений той нити, где находиться получатель сигнала, помещается специальное сообщение (QEvent::MetaCall), в котором содержиться информация для вызова слота. После переключения в контекст получателя (при обработке procrssEvents) происходит вызов данного слота.
flankerr Дата 24.3.2009, 17:32
  ну т.е. моё предыдущие утверждение верно?

тогда другой вопрос - это утверждение верно только если объект посылающий сигнал создан от клаасса унаследованного от QThread ?
или (ну а вдруг) прокатит множественное наследовнаие QObject для сигнала и некий другой класс потока (не Qt) ??
BRE Дата 24.3.2009, 17:23
 
Цитата(flankerr @ 24.3.2009, 17:22) *
кто создан?

Объект, слот которого будет выполняться.
flankerr Дата 24.3.2009, 17:22
  кто создан? слот?
Т.е. если объект класса со слотом в первом потоке, а объект класса вызвавший сигнал во втором потоке, то слот вызовёться в контексте первого потока (где создан объект класса обладающего слотом) - правельно понимаю ?
BRE Дата 24.3.2009, 17:14
 
Цитата(flankerr @ 24.3.2009, 17:04) *
В контексте какого потока будет вызван слот объекта класса А ???

В контексте той нити, где он создан.
flankerr Дата 24.3.2009, 17:04
  Qt 4.3.3
Есть класс А объект которого создан в главном потоке. Есть класс Б объект которого работает в контексте другого потока. Сигнал класса Б связан со слотом класса А.
Объект класса Б генерит сигнал, в ответ на это запускается слот объекта А
Теперь внимание вопрос.

В контексте какого потока будет вызван слот объекта класса А ???
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 5.7.2025, 7:14