CreateThread()
Syntaxe
Resultat = CreateThread(@NomdeProcedure(), *Valeur)Description
Crée un nouveau Thread.
Arguments
@NomdeProcedure() L'adresse de la procédure que vous souhaitez utiliser comme code du nouveau thread.
N'oubliez pas de mettre le '@' devant pour obtenir le nom, et les '()'.*Valeur La valeur transmise à la procédure de thread en tant que paramètre. C'est à vous de décider de son utilisation.
Valeur de retour
Renvoie le numéro du Thread s'il a été créé avec succès, zéro sinon.
Remarques
Si le thread est créé correctement, la fonction renvoie le numéro du thread qui pourra être utilisé avec les autres commandes de la bibliothèque, telles que KillThread(), PauseThread(), etc.
Exemple
Procedure MaProcedureThread(*Valeur) ; La variable '*Valeur' contiendra 23 EndProcedure CreateThread(@MaProcedureThread(), 23)
Exemple: Passer plusieurs paramètres à un thread
Structure Personne Nom$ Age.b Telephone.l EndStructure Procedure Thread(*Parametres.Personne) ; Affiche les parametres ; Debug *Parametres\Nom$ Debug *Parametres\Age Debug *Parametres\Telephone ; Une fois qu'on n'en a plus besoin, ClearStructure() est nécessaire pour s'assurer ; que les objets dynamiques (s'il y en a) sont correctement libérés. ClearStructure(*Parametres, Personne) FreeMemory(*Parametres) EndProcedure ; On utilise de la mémoire dynamique, donc cela continuera de fonctionner même si l'appel ; est fait à l'interieur d'une procédure. ; *Parametres.Personne = AllocateMemory(SizeOf(Personne)) *Parametres\Nom$ = "Jean" *Parametres\Age = 30 *Parametres\Telephone = 10203040 CreateThread(@Thread(), *Parametres) ; Crée le thread Delay(2000)
Voir aussi
KillThread()
OS Supportés
Tous