crossplatform.ru

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

> Слоты и Потоки
Nokin
  опции профиля:
сообщение 30.9.2008, 11:54
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 12.8.2008
Пользователь №: 262

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




Репутация:   0  


Правильно ли я понимаю, что слоты
class CxConnectionThread :public QThread
{
    Q_OBJECT

    ...

    private slots:
    void newConnection( CxConnection *pConnection);
    void connectionError( QAbstractSocket::SocketError socketError);
    void disconnected();
    void destroyed( QObject *pObj = 0);
    ...
}
будут для данного примера выполняться в дочернем потоке, а не в основном?

P.S. Прошу прощения, что поднимаю старую тему.
---
Полный код примера
Причина редактирования: Добавил ссылку на полный код примера
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
kuler
  опции профиля:
сообщение 6.11.2008, 17:23
Сообщение #2


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

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




Репутация:   -1  


Цитата(Гость_anonymous_* @ 30.9.2008, 18:10) *
2) Слот может быть вызван через механихм сигнал\слот. Тогда слот выполниться в главном потоке. Пример:

void CxConnectionThread::run()
{
...
QTcpSocket sosket;
...
connect(&sosket, SIGNAL(error ( QAbstractSocket::SocketError)), SLOT(connectionError( QAbstractSocket::SocketError)));
...
}

тута же в дочернем будет?
Цитата(512es @ 31.10.2008, 12:27) *
сигнал 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.

то бишь слот может вызываться и там или там
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Nokin   Слоты и Потоки   30.9.2008, 11:54
- - AD   Очень даже здорово, что подняли! Мне тоже инт...   30.9.2008, 12:25
- - ViGOur   Цитата(Nokin @ 30.9.2008, 12:54) будут дл...   30.9.2008, 12:29
- - anonymous   Слоты будут выполняться в основном потоке. Дочерни...   30.9.2008, 15:54
- - ViGOur   Цитата(Гость_anonymous_* @ 30.9.2008, 16...   30.9.2008, 17:29
|- - AD   Большая просьба: пожалуйста, соедините темы, котор...   30.9.2008, 17:34
|- - anonymous   Цитата(ViGOur @ 30.9.2008, 17:29) Цитата(...   30.9.2008, 18:10
- - Litkevich Yuriy   Цитата(AD @ 30.9.2008, 21:34) соедините т...   30.9.2008, 17:56
- - anonymous   В добавок к предыдущему посту: ЦитатаThe code tha...   30.9.2008, 18:12
- - ViGOur   Цитата(Гость_anonymous_* @ 30.9.2008, 19...   30.9.2008, 18:24
- - 512es   Здравствуйте!) правильно ли я понимаю? clas...   31.10.2008, 12:27
- - kuler   в главном потоке есть листвиджет, в созданном вызы...   5.11.2008, 12:24
- - Litkevich Yuriy   дак виджеты вроде только в главном потоке создаютс...   5.11.2008, 14:09
- - kuler   в билдере есть такая штука Syncronize, как раз для...   5.11.2008, 14:15
- - Litkevich Yuriy   Цитата(kuler @ 5.11.2008, 17:15) cannot c...   5.11.2008, 14:21
- - kuler   Цитата(Litkevich Yuriy @ 5.11.2008, 14:21...   5.11.2008, 14:43
- - Litkevich Yuriy   Цитата(kuler @ 5.11.2008, 17:43) (QThread...   5.11.2008, 15:20
- - kuler   можно написать так QMainWindow::connect((QThread*)...   5.11.2008, 15:27
- - Litkevich Yuriy   Цитата(kuler @ 5.11.2008, 18:27) можно на...   5.11.2008, 15:34
- - kuler   Цитата(Litkevich Yuriy @ 5.11.2008, 15:34...   5.11.2008, 15:42
- - Litkevich Yuriy   Цитата(kuler @ 5.11.2008, 18:42) ибо есть...   5.11.2008, 15:46
- - kuler   Цитата(Litkevich Yuriy @ 5.11.2008, 15:46...   5.11.2008, 15:51
- - Litkevich Yuriy   Цитата(kuler @ 5.11.2008, 18:51) где напи...   5.11.2008, 16:06
- - kuler   Цитата(Гость_anonymous_* @ 30.9.2008, 18...   6.11.2008, 17:23
- - kuler   а если делаешь emit то обработчик (в этом же поток...   18.12.2008, 14:32
- - SABROG   Слот вызовется сразу и вызов будет в том же потоке...   18.12.2008, 15:02
- - kuler   Цитата(SABROG @ 18.12.2008, 15:02) и возв...   18.12.2008, 15:37
- - Litkevich Yuriy   kuler, как я понял для случая однопоточного прилож...   18.12.2008, 15:49
- - kuler   Цитата(Litkevich Yuriy @ 18.12.2008, 15:4...   18.12.2008, 16:34
- - Litkevich Yuriy   Цитата(kuler @ 18.12.2008, 19:34) и вспом...   18.12.2008, 17:04
- - Litkevich Yuriy   предлагаю этой темой пополнить ЧаВО: Сигналы и сло...   27.12.2008, 18:18


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


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




RSS Текстовая версия Сейчас: 22.1.2025, 22:07