Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Thread constructeur (ParameterizedThreadStart, Int32)

 

Initialise une nouvelle instance de la classe Thread, en spécifiant un délégué qui permet à un objet d'être passé au thread quand le thread est démarré et en spécifiant la taille de pile maximale pour le thread.

Espace de noms:   System.Threading
Assembly:  mscorlib (dans mscorlib.dll)

public Thread(
	ParameterizedThreadStart start,
	int maxStackSize
)

Paramètres

start
Type: System.Threading.ParameterizedThreadStart

Délégué ParameterizedThreadStart qui représente les méthodes à appeler au début de l'exécution de ce thread.

maxStackSize
Type: System.Int32

Taille de pile maximale, en octets, à utiliser par le thread, ou 0 pour utiliser la taille de pile maximale par défaut spécifiée dans l'en-tête pour le fichier exécutable.

Important   Pour le code partiellement fiable, maxStackSize est ignoré s'il est supérieur à la taille de la pile par défaut. Aucune exception n'est levée.

Exception Condition
ArgumentNullException

start a la valeur null.

ArgumentOutOfRangeException

maxStackSize est inférieur à zéro.

Évitez d’utiliser cette surcharge de constructeur. La taille de pile par défaut utilisée par le Thread(ParameterizedThreadStart) surcharge de constructeur est la taille de pile recommandée pour les threads. Si un thread a des problèmes de mémoire, la cause la plus probable est une erreur de programmation, par exemple une récurrence infinie.

System_CAPS_importantImportant

Compter les .NET Framework 4, seul le code peut définir de confiance suffisant maxStackSize à une valeur qui est supérieure à la taille de pile par défaut (1 mégaoctet). Si une valeur supérieure est spécifiée pour maxStackSize lorsque le code s’exécute avec une confiance partielle, maxStackSize est ignoré et la taille de pile par défaut est utilisée. Aucune exception n'est levée. Code à tout niveau de confiance peut affecter maxStackSize à une valeur inférieure à la taille de pile par défaut.

System_CAPS_noteRemarque

Si vous développez une bibliothèque de niveau de confiance totale qui sera utilisée par du code partiellement fiable, et vous devez démarrer un thread qui requiert une grande pile, vous devez déclarer une confiance totale avant de créer le thread ou la taille de pile par défaut sera utilisée. Ne le faites pas, sauf si vous contrôlez totalement le code qui s’exécute sur le thread.

Si maxStackSize est inférieure à la taille minimale de pile, la taille de pile minimale est utilisée. Si maxStackSize n’est pas un multiple de la taille de page, il est arrondi au prochain multiple de la taille de page. Par exemple, si vous utilisez le .NET Framework version 2.0 sur Windows Vista, 256 Ko (262 144 octets) est la taille de pile minimale et la taille de page est de 64 Ko (65 536 octets).

System_CAPS_noteRemarque

Sur les versions de Microsoft Windows antérieurs à Windows XP et Windows Server 2003, maxStackSize est ignoré, et la taille de pile spécifiée dans l’en-tête de l’exécutable est utilisée.

Si vous spécifiez une très petite taille de pile, vous devrez désactiver la détection de débordement de pile. Lorsque la pile est strictement limitée, la détection peut elle-même provoquer un débordement de pile. Pour désactiver la détection de dépassement de capacité de pile, ajoutez le code suivant à votre fichier de configuration d’application.

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

.NET Framework
Disponible depuis 2.0
Retour au début
Afficher: