ISMULTITHREAD |
Est-ce un multi-processus |
---|---|
Delphi/Kylix/Lazarus | System |
Syntaxe
Var IsMultiThread:Boolean; |
Description
Cette variable permet d'indiquer si l'application a ajouter d'autres processus léger à l'aide de la fonction BeginThread.
Remarque
- ATTENTION ! Les types de données utilisés comme paramètre pour la fonction «BeginThread» ne sont pas les mêmes d'une version à l'autre de Delphi ! Ainsi, il faudra changer le type de données «Integer» pour «Cardinal» ou vice versa si vous rencontrez une erreur «E2033 Les types des paramètres VAR orginaux et formels doivent être identiques».
Exemple
Voici un exemple montrant comment lancer deux processus fils :
- Program IsMultiThreadSamples;
-
- {$APPTYPE CONSOLE}
-
- Uses SysUtils;
-
- Type
- ForkData=Record
- Msg:String;
- End;
- ForkDataPtr=^ForkData;
-
- Var
- Thread1, Thread2:Integer;
- Id1,Id2:Cardinal;
- Fork1,Fork2:ForkData;
- I:Byte;
-
- Function MyFork(Parameter:Pointer):Integer;
- Var
- ForkData:ForkDataPtr Absolute Parameter;
- Begin
- MyFork := 0;
- Inc(I);
- WriteLn(ForkData^.Msg);
- EndThread(0);
- End;
-
- BEGIN
- If Not(IsMultiThread)Then WriteLn('Il n''y a pas de programmes fils');
- I:=0;
- Fork1.Msg := 'Le programme fils 1!';
- Fork2.Msg := 'Le programme fils 2!';
- Thread1 := BeginThread(NIL,0,@MyFork,@Fork1,0,Id1);
- Thread2 := BeginThread(NIL,0,@MyFork,@Fork2,0,Id2);
- If(IsMultiThread)Then WriteLn('Il y a des programmes fils');
- WriteLn('Le programme parent!');
- Repeat Until I >= 2;
- END.
on obtiendra le résultat semblable suivant :
Il n'y a pas de programmes filsLe programme fils 1!
Le programme fils 1!
Il y a des programmes fils
Le programme parent!
Le programme fils 2!
Voir également
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - BeginThread
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - EndThread
Langage de programmation - Delphi/Kylix/Lazarus - Références de mots réservés (mots clefs) - ThreadVar
Dernière mise à jour : Mercredi, le 18 février 2015