我生成了一個TIMAGE的子類,類中定義了TThread,在新執行緒的建構式里,用duplicatehandle得到了該執行緒的handle,實測每個新生成的類,這個執行緒handle是不同的。然后用setthreadaffinitymask來設定該執行緒使用哪個cpu。結果發現,所有執行緒都是用的最新生成的執行緒定義的那個cpu。
結果就是本來我想不同的物件能使用不同的cpu運行,但實際情況時,所有的物件都把執行緒運行在最新的物件的執行緒定義的那個cpu上,當你在運行時,可以看到有一個cpu被占滿了,這時生成一個新物件,就變成下一個cpu被占滿。
環境是c++builder6.0
uj5u.com熱心網友回復:
不懂,幫頂,交給win系統自動分配不可以麼?uj5u.com熱心網友回復:
大意看明白了,具體的沒有實作過,不過在這里注意點不是在多執行緒上,而是多核上。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/32440.html
標籤:VCL組件使用和開發
下一篇:求ARP資料報決議軟體設計
