Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Thread-Konstruktor: (ParameterizedThreadStart, Int32)

 

Veröffentlicht: Juli 2016

Initialisiert eine neue Instanz der Thread-Klasse und gibt dabei einen Delegaten, der das Übergeben eines Objekts an den Thread bei dessen Start ermöglicht, sowie eine maximale Stapelgröße für den Thread an.

Namespace:   System.Threading
Assembly:  mscorlib (in mscorlib.dll)

public Thread(
	ParameterizedThreadStart start,
	int maxStackSize
)

Parameter

start
Type: System.Threading.ParameterizedThreadStart

Ein ParameterizedThreadStart-Delegat, der die Methoden darstellt, die bei Beginn der Ausführung dieses Threads aufgerufen werden müssen.

maxStackSize
Type: System.Int32

Die maximale Stapelgröße, in Bytes, für den Thread, oder 0 (null), wenn die angegebene maximale Standardstapelgröße aus dem Header der ausführbaren Datei verwendet werden soll.

Wichtig   Für teilweise vertrauenswürdigen Code wird maxStackSize ignoriert, wenn sie größer als die Standardstapelgröße ist. Es werden keine Ausnahmen ausgelöst.

Exception Condition
ArgumentNullException

start ist null.

ArgumentOutOfRangeException

maxStackSize ist kleiner als Null.

Vermeiden Sie die Verwendung dieser Überladung des Konstruktors. Die Standardgröße des Stapel verwendet werden, indem die Thread(ParameterizedThreadStart) Konstruktorüberladung ist die empfohlene Stapelgröße für Threads. Wenn ein Thread Arbeitsspeicherprobleme hat, ist die wahrscheinlichste Ursache, z. B. eine unbegrenzte Rekursion Programmierfehler.

System_CAPS_importantWichtig

Beginnend mit der .NET Framework 4, nur für vollständig vertrauenswürdige Code festlegen kann maxStackSize auf einen Wert, der größer als die Standardstapelgröße (1 MB). Wenn ein größerer Wert, für angegeben wird maxStackSize Code mit teilweiser Vertrauenswürdigkeit ausgeführt wird maxStackSize wird ignoriert, und die Standardgröße des Stapel verwendet wird. Es werden keine Ausnahmen ausgelöst. Auf jeder Ebene der Vertrauenswürdigkeit können zeichencodesatz-ID maxStackSize auf einen Wert, der kleiner als die Standardstapelgröße ist.

System_CAPS_noteHinweis

Wenn Sie entwickeln eine voll vertrauenswürdige Bibliothek, die von teilweise vertrauenswürdigem Code verwendet werden, und Sie Starten eines Threads müssen erfordert, dass eine große Stack, Sie müssen volle Vertrauenswürdigkeit zusichern, vor dem Erstellen des Threads oder die standardmäßige Stapelgröße verwendet werden. Tun Sie dies, wenn Sie den Code vollständig steuern, der auf dem Thread ausgeführt wird.

Wenn maxStackSize ist kleiner als die minimale Stapelgröße, wird die minimale Stapelgröße verwendet. Wenn maxStackSize ist kein Vielfaches der Seitengröße, gerundet auf das nächste größere Vielfache der Seitengröße. Bei Verwendung von .NET Framework, Version 2.0 unter Windows Vista 256KB (262.144 Bytes) ist die minimale Stapelgröße ein, und das Seitenformat beträgt 64KB (65.536 Byte).

System_CAPS_noteHinweis

In Versionen von Microsoft Windows vor Windows XP und Windows Server 2003 maxStackSize ignoriert, und die Größe des Stapels im Header ausführbaren Datei angegeben werden.

Wenn Sie eine sehr kleine Stapelgröße angeben, müssen Sie u. u. Stapelüberlaufs deaktivieren. Wenn der Stapel stark eingeschränkt ist, kann, auf dem selbst einen Stapelüberlauf verursachen die Überprüfung. Fügen Sie folgenden in der Anwendungskonfigurationsdatei, um Stapelüberlaufs zu deaktivieren.

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

.NET Framework
Verfügbar seit 2.0
Zurück zum Anfang
Anzeigen: