System.BeginThread
Contents |
Informations Delphi
De System.pas
function BeginThread(SecurityAttributes: Pointer; StackSize: Cardinal; ThreadFunc: TThreadFunc; Parameter: Pointer; CreationFlags: Cardinal; var ThreadId: Cardinal): Integer;
Unité : System
Type : fonction
Visibilité : public
Informations C++
De System.hpp
int __fastcall BeginThread(void * SecurityAttributes, unsigned int StackSize, int (_fastcall *)(void *) ThreadFunc, void * Parameter, unsigned int CreationFlags, unsigned int & ThreadId);
Unité : System
Type : fonction
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. |
Sous Windows, 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.).
Sous Linux, Begin Thread renvoie 0 si la création du thread a réussi ou un code d'erreur si elle a échoué.