Установите приоритет для потока GUI в Qt

Можно ли установить приоритет для основного потока GUI, чтобы он имел более высокий приоритет по сравнению с другими потоками (QThread)?

Моя цель - не замораживать графический интерфейс, в то время как другие потоки проводят интенсивное вычисление, которое может занять CPU до 100% нагрузки. Было бы здорово, если бы кто-то мог поделиться тем, как GUI не замерзнет в течение этого периода, в то время как другие потоки вычислений все равно могут попытаться максимизировать использование ЦП.

Я думал об управлении другими потоками, поэтому я не запускаю слишком много потоков вычислений одновременно.

Ответ 1

Измените приоритет текущего потока, когда текущий поток является потоком gui:

int main(int argc, char ** argv) {
  QApplication app(argc, argv);
  QThread::currentThread()->setPriority(QThread::HighPriority);
  ...
}