• 締切済み

Windowsで作れるスレッド最大数教えてください。

ヘルプお願いします。 現在、OSをWindowsにした、WEBアプリケーションを開発しているのですが、その設計段階でWindows環境において、アプリケーションが作れる最大スレッド数を調べなくてはならなくなりました。 そこで、WEBを探したのですが、それにあたる情報が見当たらないので、このコミュニティの人の助けをお願いしたいと思います。誰か知ってる人いたら教えてください。 ※以下簡単な環境説明です。 OS:Windows2003、.Net C++で開発

みんなの回答

noname#9532
noname#9532
回答No.1

Windowsでは、デフォルトでは1つのプロセスが生成できるスレッドの上限は、2028です。 CreateThreadというAPIの説明ですが、 http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_createthread.htm に、「1 つのプロセスが作成できるスレッドの数は、利用可能な仮想メモリによって制限されます。既定では、各スレッドに 1MB のスタック空間が割り当てられています。そのため、最大 2,028 個のスレッドを作成できます。」と書いてあります。 実際には、スレッド以外にもプログラムや変数などでメモリを使用するので、2028より少ない数のスレッドしか起動できません。 スタックサイズを減らすと、作成できるスレッド数を増やすことが出来ます。

参考URL:
http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_createthread.htm

関連するQ&A