System.BeginThread
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 |
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.).