| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, 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 |
| тут что-то не понятное. Желательно код бы посмотреть. Для чего нужно делать поток для обмена данными ? Он скорее всего и тормозит работу. Используй для обмена данными сигналы и слоты. Да и каким компонентом получаешь данные из сети ? эти данные получаются с ожиданием (блокировкой потока) или через сигналы ? |