我正在爲多核機器編寫可移植代碼,並且我想要內核級線程,以便線程可以使用多個cpu。在閱讀Qt助手的QThread文檔後,我仍然沒有發現任何提示。QThread是在用戶級別,內核級別還是兩者上?
在Windows XP上,QtSDK中的多線程示例(mandelbrot)僅使用一個內核。所以我猜想在XP上只有用戶級別的線程是可能的。因爲沒有安裝完整的SDK,所以我還沒有在Linux或OSX上測試過。 編輯:在SDK中給出的例子是愚蠢的 - 它只使用一個線程進行計算,所以綁定到只有一個核心是誤導。自己構建一個示例我可以使用所有內核,所以在XP上使用mingw/GCC Qt使用內核級線程。
那麼,QThread使用什麼樣的線程?是否可以指定使用哪種線程?
多個進程也是一個與共享內存結合的選項。
編輯
http://doc.qt.io/qt-4.8/thread-basics.html給出了一個很好的介紹。