window裡面乙個程序理論上能開多少執行緒?

2021-04-12 12:54:32 字數 473 閱讀 5177

乙個執行緒的開銷包括:

核心模式下的開銷(核心堆疊,物件管理所需記憶體)

使用者模式下的開銷(執行緒區域性儲存、執行緒環境塊、堆疊、crt、mfc、com等等等等)

通常,執行緒數目的瓶頸在於執行緒自己的堆疊。visual c++編譯器預設設定是每個執行緒的堆疊大小是1兆。當然,如果你在建立執行緒時指定較小的堆疊大小,你應該可以建立較多的執行緒。

但是建立大量執行緒不是乙個好的設計。每個執行緒建立和銷毀的時候,windows會呼叫已經載入的動態鏈結庫的dllmain,傳遞dll_thread_attach和dll_thread_detach作為引數,除非動態庫使用disablethreadlibrarycalls禁用了這個通知。在建立大量執行緒的時候,這個開銷是很大的。對於你這樣的用後即棄的執行緒,你應該使用執行緒池。乙個執行緒池示例可以在微軟知識庫找到(http://support.microsoft.com/support/kb/articles/q197/

7/28.asp)。

window建立程序的乙個簡單例子

char szcmd 128 tchar cmd 128 chartotchar szcmd,cmd startupinfo si process information pi si.dwflags startf useshowwindow si.wshowwindow true createpro...

用nginx在window上搭建乙個集群

1.在d盤新建兩個目錄 tomcat1 tomcat2 2.修改tomcat2的埠 在tomcat1的埠上 10 3.解壓nginx 修改nginx的 nginx.conf檔案 在locatioin 下新增了反向 proxy pass 伺服器 這是只是 一台伺服器 4.集群 需要在http節點上新增...

論壇裡面的乙個帖子

作為專案經理一定要關注計畫和跟蹤,控制好工期和質量 要培養好乙個團隊。自己要思考,這個專案做下來,自己能得到什麼?組員能得到什麼?公司能得到什麼?想清楚了再做?其實很多事情在接收專案的時候就要想到的。剛做專案經理慢慢來,一點一點學嘛!抓緊學習專案管理的理論知識。雖說理論不一定有用,但是理論可以指導你...