2013-09-25 107 views
10

是否可以爲主GUI線程設置優先級,使其具有比其他線程(QThread)更高的優先級?在Qt中設置GUI線程的優先級

我的目標是不要凍結GUI,而其他線程正在做一些可能佔用CPU 100%負載的密集計算。如果有人可以共享一種方法來確保在此期間GUI不會凍結,而其他計算線程仍然可以嘗試最大限度地提高CPU使用率,那將是非常好的。

我想過管理其他線程,所以我不會同時啓動太多的計算線程。

回答

10

改變當前線程的優先級時,當前線程的GUI線程:

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

這正是我期待的,而且似乎運作良好。謝謝您的幫助! –