System.BeginThread

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

function BeginThread(SecurityAttributes: Pointer; StackSize: LongWord; ThreadFunc: TThreadFunc; Parameter: Pointer; CreationFlags: LongWord; var ThreadId: TThreadID): THandle;

C++

extern DELPHI_PACKAGE NativeUInt __fastcall BeginThread(void * SecurityAttributes, unsigned StackSize, TThreadFunc ThreadFunc, void * Parameter, unsigned CreationFlags, unsigned &ThreadId);

Propriétés

Type Visibilité  Source Unité  Parent
function public
System.pas
System.hpp
System System

Description

Crée un nouveau thread d'exécution.

Utilisez cette routine ou un objet TThread pour créer des threads d'exécution distincts. BeginThread engendre un nouveau thread d'exécution et définit la variable globale IsMultiThread, ce qui rend le tas adapté aux threads.

ThreadFunc représente la fonction thread. Il s'agit du code qui s'exécute dans le nouveau thread d'exécution. ThreadFunc doit gérer ses propres exceptions. En revanche, comme BeginThread définit un cadre d'exécution, le gestionnaire d'exception par défaut du système intercepte toutes les exceptions qui échappent à ThreadFunc.

Parameter pointe sur un seul paramètre 32 bits qui est transmis non interprété à ThreadFunc.

ThreadId renvoie l'identifiant unique du nouveau thread. Cet identifiant apparaît dans la boîte d'état du thread du débogueur.

SecurityAttributes représente un pointeur sur un enregistrement SecurityAttributes Windows (structure). Pour des informations sur les attributs de sécurité, consultez la documentation Microsoft.

StackSize indique la taille de la pile réservée au nouveau thread quand CreationFlags inclut STACK_SIZE_IS_A_RESERVATION. Sinon, ce paramètre est ignoré.

CreationFlags est un ensemble de bits reliés par un ou logique et pouvant contenir les valeurs suivantes :


Valeur Signification

CREATE_SUSPENDED

Le thread est créé dans un état suspendu et ne s'exécute pas tant que la fonction ResumeThread de l'API Windows n'est pas appelée. Si cet indicateur n'est pas inclus, l'exécution du nouveau thread commence dès sa création.

STACK_SIZE_PARAM_IS_A_RESERVATION

Le paramètre StackSize spécifie la taille de la pile du thread. Si cet indicateur n'est pas inclus, une taille de pile par défaut est attribuée au nouveau thread par le lieur.


BeginThread renvoie le handle du thread Windows. Une valeur de retour de 0 indique un échec.

Attribute est une structure contenant des informations sur le thread (priorité, stratégie de planification, taille de la pile, etc.).

Voir aussi