Слоты и Потоки |
Здравствуйте, гость ( Вход | Регистрация )
Слоты и Потоки |
Nokin |
30.9.2008, 11:54
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 17 Регистрация: 12.8.2008 Пользователь №: 262 Спасибо сказали: 0 раз(а) Репутация: 0 |
Правильно ли я понимаю, что слоты
будут для данного примера выполняться в дочернем потоке, а не в основном?P.S. Прошу прощения, что поднимаю старую тему. --- Полный код примера
Причина редактирования: Добавил ссылку на полный код примера
|
|
|
kuler |
6.11.2008, 17:23
Сообщение
#2
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
2) Слот может быть вызван через механихм сигнал\слот. Тогда слот выполниться в главном потоке. Пример: void CxConnectionThread::run() { ... QTcpSocket sosket; ... connect(&sosket, SIGNAL(error ( QAbstractSocket::SocketError)), SLOT(connectionError( QAbstractSocket::SocketError))); ... } тута же в дочернем будет? сигнал onReadyRead будет выполнен в главном потоке, а не в том, в котором создавался сокет? нет а вообще есть такая тема: Qt supports three types of signal-slot connections: With direct connections, the slot gets called immediately when the signal is emitted. The slot is executed in the thread that emitted the signal (which is not necessarily the thread where the receiver object lives). With queued connections, the slot is invoked when control returns to the event loop of the thread to which the object belongs. The slot is executed in the thread where the receiver object lives. With auto connections (the default), the behavior is the same as with direct connections if the signal is emitted in the thread where the receiver lives; otherwise, the behavior is that of a queued connection. то бишь слот может вызываться и там или там |
|
|
Текстовая версия | Сейчас: 22.1.2025, 22:07 |