Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > приоритеты для QThread


Автор: kuvshinka 10.6.2015, 22:58
Есть линукс-программа, которая делает следующее: в главном mainclass-ee создаются объекты классов-элементов гуи (class_1, class_2...) и запускается обменный поток (QThread), сетевые данные из которого сигналом направляются через mainclass в class_1, class_2 и там происходит некая отрисовка...проблема: при большом объеме сетевых данных (буфер с 10-15 тыс. байтов) достаточно большая рисовалка (например класса class_1) так загружает процессор, что подвисает весь гуи (нельзя ничего нажать), а главное нарушается регулярность приема сетевых данных....видимо надо как-то задать наивысший приоритет обменному QThread-у (чтобы он прерывал рисовалку на чтение сетевых данных), но как это сделать для linux-программы, где setPriority вроде как не работает? 

Автор: ss 11.6.2015, 11:22
тут что-то не понятное. Желательно код бы посмотреть. 
Для чего нужно делать поток для обмена данными ? Он скорее всего и тормозит работу. Используй для обмена данными сигналы и слоты.
Да и каким компонентом получаешь данные из сети ? эти данные получаются с ожиданием (блокировкой потока) или через сигналы ? 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)