更新 : 2007 年 11 月
Thread クラスの新しいインスタンスを初期化して、スレッドの最大スタック サイズを指定します。
名前空間 :
System.Threading アセンブリ :
mscorlib (mscorlib.dll 内)
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 Thread(
ThreadStart start,
int maxStackSize
)
public function Thread(
start : ThreadStart,
maxStackSize : int
)
このコンストラクタのオーバーロードを使用しないでください。スレッドのスタック サイズとして推奨されるのは、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
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
.NET Framework
サポート対象 : 3.5、3.0、2.0
.NET Compact Framework
サポート対象 : 3.5、2.0
XNA Framework
サポート対象 : 2.0、1.0
参照