當使用pthread(或QThread with moveThread函數)來讀取數據(與互斥體)GUI減慢。Qt - 緩慢的GUI - 線程
爲什麼?
GUI線程和pthread worker(或Qthread)是兩個不同的線程吧?
確切的說,GUI不讀取/寫入任何數據,所以它們是兩個過程不相關的。
爲什麼會出現這個問題?
(上面的例子pthred工人,而創建GUI對話與Qt Creator的簡單,住在主線程)
void* task_camera_notifier(void*)
{
while(AppState::is_left_camera_in_grabbing && AppState::is_right_camera_in_grabbing)
{
camera_data left_data;
SharedData::SecureAccess_get_leftCameraFrame(left_data);
}
return NULL;
}
你必須提供一些代碼。 –
很可能你在使用線程間通信的時候搞砸了一些東西。用Profiler運行並檢查主線程大部分時間在哪裏,我非常確定它會在某些互斥量或信號量上等待。 –
您應該首先在單線程測試應用程序中運行此操作,並驗證所有攝像頭幀抓取操作實際執行的時間。這應該是一個起點。 –