Russian Qt Forum
Май 06, 2024, 15:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: В потоках допустимы?  (Прочитано 4459 раз)
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« : Июль 23, 2010, 12:58 »

QT 3.3.8

Допустимо ли использование в потоках
      QDate cD=QDate::currentDate();
      QTime cT=QTime::currentTime();
поскольку
 
Цитировать
Класс QTimer, и классы для работы с сетью QFtp, QHttp, QSocket и QSocketNotifier, целиком зависят от цикла обработки событий, поэтому они не могут использоваться за пределами главного потока.
Записан

Как мало времени и как много нужно узнать
SABROG
Гость
« Ответ #1 : Июль 23, 2010, 17:13 »

QTimer - QObject
QFtp - QObject
QHttp - QObject
QSocket - QObject
QSocketNotifier - QObject

QDate - не QObject
QTime - не QObject

Классы не наследующие QObject в цикле событий не нуждаются, но это не значит, что классы на базе QObject'а нельзя использовать в разных потоках, если есть такое ограничение, то оно есть только для Qt3, в случае с Qt более свежей версий этих ограничений нет при соблюдении некоторых условий.
Записан
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #2 : Июль 23, 2010, 17:31 »

спасибо
Записан

Как мало времени и как много нужно узнать
serg_hd
Хакер
*****
Offline Offline

Сообщений: 668



Просмотр профиля
« Ответ #3 : Июль 23, 2010, 20:57 »

да и запустить обработчик событий во второстепенном потоке тоже никто не запрещает(exec()). Создавал и запускал когда-то QTimer(хотя и не рекомендуется) в нём, было дело.
« Последнее редактирование: Июль 24, 2010, 00:13 от serg_hd » Записан

kubuntu/Win7/x64/NetBeans
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.042 секунд. Запросов: 22.