我知道XInitThreads()
將允許我從主線程以外的線程對X服務器執行調用,並且如果我想讓OpenGL calls from secondary threads using Qt支持Xlib中的併發線程是必要的。我對我的應用程序有這樣的需求,但在非常罕見的情況下。不幸的是,XInitThreads()需要在我的應用程序執行開始時調用,因此會影響它是否需要它或特定運行(如果我需要多線程OpenGL,我無法知道運行該應用程序之前是否支持)。XInitThreads()的缺點是什麼?
我很肯定,如果我無用地調用XInitThread(),應用程序的整體行爲將保持不變,但編程完全取決於折衷,而且我很確定多線程支持不是默認行爲Xlib的。
The man page表示建議單線程程序不調用此函數,但它不說明原因。調用XInitThreads()時的折衷是什麼?