вопрос размещения объектов для работы в отдельном потоке |
Здравствуйте, гость ( Вход | Регистрация )
вопрос размещения объектов для работы в отдельном потоке |
call_me_Frank |
13.12.2011, 11:57
Сообщение
#1
|
Студент Группа: Участник Сообщений: 73 Регистрация: 20.10.2010 Пользователь №: 2129 Спасибо сказали: 0 раз(а) Репутация: 0 |
Привет, форумчане!
тема вот такая: в программе имеется поток, который должен запускать сетевой протокол, обмениваться по нему данными и писать что-то в БД. вопрос такой, как и где лучше разместить объекты работы с протоколом и БД? поместить их в run() и каждый раз при необходимости создавать их и подключаться, или, может быть, разместить их внутри класса, запускающего поток, а, скажем, в конструкторе создавать их и подключаться один раз? а в run() путем транзакций передавать им данные для работы? |
|
|
call_me_Frank |
13.12.2011, 17:12
Сообщение
#2
|
Студент Группа: Участник Сообщений: 73 Регистрация: 20.10.2010 Пользователь №: 2129 Спасибо сказали: 0 раз(а) Репутация: 0 |
вопрос, похоже, не ахти какой актуальный. но, просто хотелось бы сделать проект наиболее грамотно, и может все-таки кто-нибудь подскажет?
|
|
|
mezmay |
14.12.2011, 20:08
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: 1 |
Создаешь класс например CMyWork, унаследованный от QObject, содержащий все необходимые для работы протокола и записи в БД функции.
Экземпляр этого класса создаешь в run(), затем подключаешь необходиме для связи с основным потоком сигналы и слоты и запускаешь exec(): Пример:
таким образом все методы класса CMyWork будут работать в отдельном потоке. Сообщение отредактировал mezmay - 14.12.2011, 20:12 |
|
|
Текстовая версия | Сейчас: 20.4.2024, 9:19 |