| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [qt4]Посылка сигналов между потоками |
| Автор: BiTOk 11.5.2011, 18:39 |
| Доброе время суток. Встала задача написания двухпоточной программы: один отвечает за интерфейс, второй за непрерывный процесс моделирования некой системы. Данные для моделирования вводятся в главном потоке - в потоке интерфейса, работа с ними идёт во втором потоке. При работе второго потока необходимо передавать некоторые данные для вывода на форму в первый поток. Если я организую передачу этой информации с помощью сигналов-слотов, то где будет работать соответствующий слот, если сигнал послан из потока №2? Как лучше организовать структуру такой программы? |
| Автор: Artemon 11.5.2011, 20:14 | ||
По-умолчанию В потоке #1 |
| Автор: BiTOk 11.5.2011, 20:17 |
| Откуда такие умолчания и как их изменить? ADD Какую литературу можно почитать по таким тонкостям? В хелпе ответ на вышепоставленный вопрос найден не был. |
| Автор: Artemon 11.5.2011, 20:35 | ||||
В методе QObject::connect() последний параметр отвечает за тип соединения, вот описание этого параметра:
Добавлено через 9 минут и 46 секунд Если поставишь Qt::DirectConnection, то слот будет выполняться в потоке, который сделал emit Если поставишь Qt::QueuedConnection, то слот будет выполняться в потоке, в котором определен слот. |