乙個程序可以建立多少執行緒

2021-08-21 13:45:03 字數 496 閱讀 9584

理論上,乙個程序可用虛擬空間是2g,預設情況下,執行緒的棧的大小是1mb,所以理論上最多只能建立2048個執行緒。如果要建立多於2048的話,必須修改編譯器的設定。

#include#include#includehandle hprocess;

handle hthread;

dword winapi athread(void) //執行緒函式

bool createthread(int threadnum) //引數表示建立的執行緒數

結論:乙個程序可以建立的執行緒數由可用虛擬空間和執行緒的棧的大小共同決定,只要虛擬空間足夠,那麼新執行緒的建立就會成功。如果需要建立超過2k以上的執行緒,減小你執行緒棧的大小就可以實現了。

實驗 乙個程序到底能建立多少執行緒?

from 在網上看到有朋友討論,乙個程序能建立的執行緒的最大數量,我學習了一下,做了這個小實驗。理論上,乙個程序可用虛擬空間是2g,預設情況下,執行緒的棧的大小是1mb,所以理論上最多只能建立2048個執行緒。如果要建立多於2048的話,必須修改編譯器的設定。怎麼設定呆會兒再說。在 下寫了乙個控制台...

乙個程序最多能包含多少執行緒

小watch水平有限,希望大家多多指正文中的錯誤,共同進步 最近在學習os的多執行緒課程,第乙個實驗室關於windows的多執行緒,用mfc實現。實驗蠻簡單的,但是,我不由想到了,乙個程序最多能包含多少個執行緒。在網上查了查,貌似也沒找到多少這方面的資料。大部分都是關於伺服器多執行緒鏈結sever的...

乙個程序最多能開多少個執行緒?

在x86平台32位系統,系統占用2gb位址空間,使用者方式2gb。如果使用vs,鏈結程式開關 sack 或者 f可以設定執行緒堆疊大小,預設分配乙個執行緒的堆疊大小是1mb,當createthread引數的stacksize大小與鏈結程式設定的不一致時,採用的方法是誰大用誰的,所以用4kb修改當然不...