靚麗時尚館

位置:首頁 > 健康生活 > 心理

允許最大執行緒數什麼意思

心理2.51W
允許最大執行緒數什麼意思

預設情況下,一個執行緒的棧要預留1M的記憶體空間而一個程序中可用的記憶體空間只有2G,所以理論上一個程序中最多可以開2048個執行緒但是記憶體當然不可能完全拿來作執行緒的棧,所以實際數目要比這個值要小。

你也可以通過連線時修改預設棧大小,將其改的比較小,這樣就可以多開一些執行緒。如將預設棧的大小改成512K,這樣理論上最多就可以開4096個執行緒。

即使實體記憶體再大,一個程序中可以起的執行緒總要受到2GB這個記憶體空間的限制。比方說你的機器裝了64GB實體記憶體,但每個程序的記憶體空間還是4GB,其中使用者態可用的還是2GB。

如果是同一臺機器內的話,能起多少執行緒也是受記憶體限制的。每個執行緒物件都要站用非頁面記憶體,而非頁面記憶體也是有限的,當非頁面記憶體被耗盡時,也就無法建立執行緒了。

如果實體記憶體非常大,同一臺機器內可以跑的執行緒數目的限制值會越來越大。  

標籤:執行緒