請問一下os是否會限制單一程式可開啟的執行緒數?? |
答題得分者是:aftcast
|
salo0610
高階會員 發表:42 回覆:120 積分:107 註冊:2003-02-18 發送簡訊給我 |
看到 "Windows 系統允許執行緒數量的上限? " 請問一下os是否會限制單一程式可開啟的執行緒數?? 如果是會限制的話,是否會依電腦的等級( cpu、記憶体大小....) 謝謝各位大大的指教~~ |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
1/ 就官方的說法(我曾電話問過),windows是沒有限制thread數的。
2/ 事實應該也沒有限制,這是指沒有一個隱藏的設定值在限制。但是,因為windows先天上一個process只能用2G,你就被限制住了。加上一個thread的stack預設是1mb,那就被限在2028個上。當然你可以去縮小stack的大小。但能縮多小? 總不可能是0吧,那thread都跑不起來了。 3/ 就經驗上來說,2028個thread我沒跑過,因為…一般的threa完成後用的資源都很大,加上cpu,mem等不可能到完美頂極。所以,一樣的程式在不同的機器上,我會調校其最大的thread數。也視cpu的個數決定。 結論: 不用考慮能開幾個,因為os本身的先天限制不是瓶頸。你的電腦的資源通常才是。也許再過個數10年後…個人pc變更強了。os的先天問題才會變成是瓶頸。
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
|
salo0610
高階會員 發表:42 回覆:120 積分:107 註冊:2003-02-18 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |