この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

Thread コンストラクター (ThreadStart, Int32)

 

公開日: 2016年7月

Thread クラスの新しいインスタンスを初期化して、スレッドの最大スタック サイズを指定します。

名前空間:   System.Threading
アセンブリ:  mscorlib (mscorlib.dll 内)

public Thread(
	ThreadStart start,
	int maxStackSize
)

パラメーター

start
Type: System.Threading.ThreadStart

このスレッドが実行を開始するときに呼び出されるメソッドを表す ThreadStart デリゲート。

maxStackSize
Type: System.Int32

スレッドが使用する最大スタック サイズ (バイト単位)。実行可能ファイルのヘッダーで指定された既定の最大スタック サイズを使用する場合は 0。

重要: 部分的に信頼されているコードでは、既定のスタック サイズを超える maxStackSize は無視されます。 例外をスローすることはありません。

Exception Condition
ArgumentNullException

startnull です。

ArgumentOutOfRangeException

maxStackSize が 0 未満です。

このコンス トラクター オーバー ロードを使用しないでください。 によって使用される既定のスタック サイズ、Thread(ThreadStart)コンス トラクター オーバー ロードは、スレッドの推奨されるスタックのサイズ。 スレッドでは、メモリに問題がある、最も一般的な原因は無限再帰などのエラーをプログラミングできます。

System_CAPS_important重要

以降で、.NET Framework&4;コード設定を完全に信頼できるのみ、maxStackSizeが既定のスタック サイズ (1 メガバイト) より大きい値にします。 大きい値を指定した場合maxStackSize部分信頼でコードが実行されているときにmaxStackSizeは無視されますと既定のスタック サイズを使用します。 例外をスローすることはありません。 任意の信頼レベルでコードを設定できますmaxStackSizeが既定のスタック サイズより小さい値にします。

System_CAPS_noteメモ

で部分的に信頼されたコードによって使用される完全に信頼されたライブラリを開発しているスレッドを開始する必要がある場合は、大きなスタックを必要とするまたは、スレッドを作成する前に完全な信頼をアサートする必要があります、既定のスタック サイズが使用されます。 こうしないスレッド上で実行されるコードを完全に制御しない限り、します。

場合maxStackSizeが小さい最小のスタック サイズよりも最小のスタック サイズを使用します。 場合maxStackSize倍数ではない場合、ページ サイズの次に大きいページ サイズの倍数に丸められます。 たとえば、Windows Vista を .NET Framework version 2.0 を使用している場合 256 KB (262、144 バイト) が最小のスタック サイズとページ サイズは 64 KB (65,536 バイト)。

System_CAPS_noteメモ

Windows XP および Windows Server 2003 以前の Microsoft Windows のバージョンでmaxStackSizeは無視され、実行可能ファイルのヘッダーで指定されたスタック サイズが使用されます。

非常に小さなスタック サイズを指定する場合は、スタック オーバーフローの検出を無効にする必要があります。 スタックが深刻な制約されている場合、プローブできます自体、スタック オーバーフローが発生します。 スタック オーバーフローの検出を無効にするには、アプリケーション構成ファイルに、次を追加します。

<configuration>
  <runtime>
    <disableStackOverflowProbing enabled="true"/>
  </runtime>
</configuration>

.NET Framework
2.0 以降で使用可能
トップに戻る
表示: