Windwaker wrote:
http:/...(恕刪)
很多廠商推薦的,只不過......
Cons
...
Lacks fine-grained mechanisms to control thread-processor mapping.
...
......後果自負......
還有,別再用「指派」這個字了,應用程式沒那麼大的權力。就算它是「請求」,作業系統仍可拒絕之。
Windwaker wrote:
我建議你去看看OS裡面Thread Pool的定義
....
Threadpool是Windows用來根據不同的Thread dependency排程不同的Worker Thread
然後再來看看你寫的....
....
A thread pool is a collection of worker threads managed by the operating system to schedule and execute asynchronous operations on behalf of an application.
Windwaker wrote:
幾乎大部分的軟體都是單核
只有像轉檔,遊戲這兩類程式
程式設計師才會有需求去搞多線程
欄位 |
說明 |
執行緒 |
處理程序中執行的執行緒數量。 |
Windwaker wrote:
也難怪你會叫人家看Thread Count來決定該軟體支不支援多核心平行運算....
ycweng wrote:
1. 如果專案中有一個人負擔了90%的工作(燒機Thread),其他人負擔了其他10%(其他獨立Threads),但彼此可以平行進行(可在不同核心上執行),相對於把90%的工作+10%的工作都放在同一個人(通通寫在同一個單一執行緒內)身上,請問專案完成時間,只會更多,還是更少?
2. 換一個角度問,給定一段時間,有分工的平行專案(即使分工不均也算)、跟沒分工一個人搞的情況,能做的事比較多的,是哪一種?
...(恕刪)
theplum wrote:
但是您看到「後果自負」那幾個字嗎.....您要考慮
1. 可用資源,如果核心一沒空你是不是也要分它一份工作?
2. 協同工作,您的程式如何告訴其他程式,您要用核心一? 作業系統又憑什麼將核心一讓給您的程式用(假設還有一個傢伙把它的執行緒想作業系統把核心一「指派」給它)?