Fonctions & Thread ....

DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013 - 15 août 2005 à 13:31
xterminhate Messages postés 371 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 23 septembre 2009 - 15 août 2005 à 21:57
Lu all,

Je dispose d'une class qui possède un thread.
J'aimerai que lorsque j'appelle les fonctions membres de la class, celle ci s'execute dans le thread.

Dois-je créer un thread pour chaque fonction ? Ou puis-je utiliser le meme thread pour executer une a une les fonctions selon le besoin ?

Shell

5 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 août 2005 à 13:54
A part si ça vient de la conception 'class', je ne vois pas ce qui empêche de faire tous les traitements que tu veux dans 1 seul thread.

ciao...
BruNews, MVP VC++
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
15 août 2005 à 14:36
En fait je travail avec des sockets bloquante (choix imposés).
Dans ma class j'ai mon thread et mes fonctions membres (GetMail, Connect,...)

Si j'appelle directement ces fonctions a l'aide de mon objet dérivant de la classe, elle ne s'executeront pas dans le thread.
Ces fonctions sont appellées sous l'action de boutons.

Ce que je veux par exemple, c'est que lorsque l'utilisateur clique sur Connecter sa execute la fonction Connect dans le thread, pour éviter que
mon appli freeze.

Shell
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
15 août 2005 à 16:56
case BNT_CONNECT:
CreateThread(Connect);
break;
case GNT_GETMAIL:
CreateThread(GetMail);
break;
...
"puis-je utiliser le meme thread pour executer une a une les fonctions selon le besoin"
Ca n'a pas trop sens ce que tu dis. Un thread fait une seule tache sinon ca sert à rien.
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
15 août 2005 à 19:16
Vecchio56> Si si ca a du sens. Comme tu le dis mon thread ne fais qu'une seule chose. Seuleument j'utilise un systeme d'indexation de mes fonctions qui me permet de les appeller en utilisant un seul thread. Tout en sachant qu'une seule fonction peut etre appeller en meme temps.
Il ne me reste donc plus qu'a passer l'index de ma fonction au param de mon thread ou a des variables globales.

Seuleument j'aurai aimer savoir s'il n'y a pas une solution "plus propre" ...

Shell
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
xterminhate Messages postés 371 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 23 septembre 2009
15 août 2005 à 21:57
C'est drôle, ca ressemble à un 'thread-pool'.... mais avec un seul thread ;-)



Le deux (ou plus) types de traitement que ton thread est capable de réaliser sont des opérations élémentaires ou complexes ?



De plus, ton thread démarre à la construction et s'arrete à la destruction de l'objet ?

Cordialement,
Xterminhate.
0
Rejoignez-nous