Проблемы с многопотоковым приложением, Работа с второстепенным потоком. |
Здравствуйте, гость ( Вход | Регистрация )
Проблемы с многопотоковым приложением, Работа с второстепенным потоком. |
AD |
4.2.2008, 19:23
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Есть главное приложение, где выполняется отрисовка карты и траектории. А есть второстепенный поток, который читает файлы(логи) для отрисовки траектории. Как правильно передать управление из одной функции в другую? И вообще как правильнее решить этот вопрос. Вот примеры функций.
class LogReader
Могу пояснить вопрос. Как вот в этом месте
Перейти в функцию run()? Сообщение отредактировал Litkevich Yuriy - 28.8.2008, 13:56
Причина редактирования: Добавлен тэг expand
|
|
|
ViGOur |
4.2.2008, 20:32
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Ну с сигналами и слотами все достаточно просто.
Создаем сигнал (threadSignal) и слот (threadSlot) и связываем их:
Разумеется их нужно обьявить в классе с ключевыми словами signals и slots. Для сигнала в moc файле быдет создано определение автоматически, для слота нужно будет писать самому, в принципе слот это обычная функция. Затем, чтобы вызвать сигнал нужно написать:
Еще нужно помнить, что слот threadSlot, будет выполнять в том потоке, в котором был создан pObject. Вот в принципе и все. Для лучшего понимая сигналов и слотов рекомендую прочитать: Сигналы и слоты. |
|
|
AD |
4.2.2008, 20:40
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Ну с сигналами и слотами все достаточно просто. Создаем сигнал (threadSignal) и слот (threadSlot) и связываем их:
Разумеется их нужно обьявить в классе с ключевыми словами signals и slots. Для сигнала в moc файле быдет создано определение автоматически, для слота нужно будет писать самому, в принципе слот это обычная функция. Затем, чтобы вызвать сигнал нужно написать:
Еще нужно помнить, что слот threadSlot, будет выполнять в том потоке, в котором был создан pObject. Вот в принципе и все. Для лучшего понимая сигналов и слотов рекомендую прочитать: Сигналы и слоты. В принципе понятно, но а в каком классе, из приведенных выше, надо сделать connect, а в каких эти threadSlot, threadSignal? Что за pObject? Сообщение отредактировал AD22 - 4.2.2008, 20:41 |
|
|
Текстовая версия | Сейчас: 29.3.2024, 18:32 |