更新 : 2007 年 11 月
Thread クラスの新しいインスタンスを初期化して、スレッドの最大スタック サイズを指定します。
Public Sub New ( _ start As ThreadStart, _ maxStackSize As Integer _ )
Dim start As ThreadStart Dim maxStackSize As Integer Dim instance As New Thread(start, maxStackSize)
public Thread( ThreadStart start, int maxStackSize )
public: Thread( ThreadStart^ start, int maxStackSize )
public function Thread( start : ThreadStart, maxStackSize : int )
このスレッドが実行を開始するときに呼び出されるメソッドを表す ThreadStart デリゲート。
スレッドが使用する最大スタック サイズ。実行可能ファイルのヘッダーで指定された既定の最大スタック サイズを使用する場合は 0。
start が nullNothingnullptrnull 参照 (Visual Basic では Nothing) です。
maxStackSize が 0 未満です。
このコンストラクタのオーバーロードを使用しないでください。スレッドのスタック サイズとして推奨されるのは、Thread(ThreadStart) コンストラクタのオーバーロードで使用される既定のスタック サイズです。スレッドにメモリの問題がある場合、無限再帰のようなプログラミング エラーが原因と考えられます。
maxStackSize が最小スタック サイズより小さい場合は、最小スタック サイズが使用されます。maxStackSize がページ サイズの倍数でない場合は、次に大きいページ サイズの倍数に繰り上げられます。たとえば、Microsoft Windows Vista で .NET Framework Version 2.0 を使用している場合、最小スタック サイズは 256 KB (262144 バイト)、ページ サイズは 64 KB (65536 バイト) です。
Windows XP および Windows Server 2003 より前のバージョンの Microsoft Windows では、maxStackSize は無視され、実行可能ファイルのヘッダーで指定されたスタック サイズが使用されます。
スタック サイズを非常に小さく指定した場合、スタック オーバーフロー調査を無効にする必要が生じることがあります。スタックの制約を厳しくすると、この調査自体がスタック オーバーフローの原因になることがあります。スタック オーバーフロー調査を無効にするには、アプリケーション設定ファイルに次のコードを追加します。
<configuration> <runtime> <disableStackOverflowProbing enabled="true"/> </runtime> </configuration>
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360