Russian Qt Forum

Qt => Многопоточное программирование, процессы => Тема начата: Примерный ученик от Сентябрь 20, 2020, 08:19



Название: readyRead() опережающий вызов
Отправлено: Примерный ученик от Сентябрь 20, 2020, 08:19
Работает клиент, слушающий UDP порт. Принятые датаграммы передаются на обработку в подпрограмму. Вопрос: что будет, если текущий кусок информации еще обрабатывается подпрограммой, а уже поступила новая информация? Будет ли ожидание завершения или случится повторный вызов занятой еще подпрограммы?


Название: Re: readyRead() опережающий вызов
Отправлено: Пантер от Сентябрь 20, 2020, 08:36
Цитировать
readyRead() is not emitted recursively; if you reenter the event loop or call waitForReadyRead() inside a slot connected to the readyRead() signal, the signal will not be reemitted (although waitForReadyRead() may still return true).
https://doc.qt.io/qt-5/qiodevice.html#readyRead

Пока ты не выйдешь из слота, сигналов тебе не поступит.


Название: Re: readyRead() опережающий вызов
Отправлено: Примерный ученик от Сентябрь 20, 2020, 08:38
спасибо