Добрый день, коллеги. Есть вопрос по потокам: для работы клиента создал объект, к-ый использует 3 дочерних потока (приёмник, обработчик и передатчик), которые создаются и стартуют в конструкторе объекта. Чтобы рабочие данные принадлежали самим потокам, их создание и cоnnect-ы определены в run(). Если в главной прог-е создание и выполнение
1-ой операции выполнить без задержки, то "дочки-поточки" не успевают "разогнаться" полностью, т.к. start() только запускает run() и не ждёт его выполнения, что понятно (если exec(), то не дождёшься).
НУЖНА ПАУЗА !!!
Я по своей малости знания QT решил задачку так: разделил создание и выполнение 1-ой операции на две функции, в конце 1-ой (после создания объекта в окне) выполнил
QTimer::singleShot(500, this, SLOT(executOper()));
где, как легко догадаться executOper() - выполнение операции.
С моей колокольни - как-то коряво. Так и хочется после start() написать wait(), но для какого потока
У меня не получилось. Поделитесь пожалуйста знаниями.
С уважением, Paul