mohdaef
Messages postés68Date d'inscriptionvendredi 23 novembre 2007StatutMembreDernière intervention14 mars 2012
-
21 mars 2008 à 21:56
hydargos
Messages postés8Date d'inscriptionvendredi 6 septembre 2002StatutMembreDernière intervention26 mars 2008
-
25 mars 2008 à 12:47
Bonjour à tous.
Je m'adresse à vous car j'ai un problème avec des threads et plus précisément avec le passage d'informations a partir d'un thread vers plusieur autres. Je travaille sous Code::Blocks avec les APIs Windows et je tiens à préciser que je débute à peine en ce qui concerne la programmation multi-thread et que je n'ai vu que la théorie jusqu'a présent je ne connait donc aucune fonctions.
La situation est la suivante, mon programme principal lance un thread, qui a son tour va lancer plusieur autre threads qui auront une durée de vie relativmen tcourte. à la création de ces thread j'ai besoin de leur envoyer plusieur information comme son propre HANDLE ainsi que des entiers. Ces threads sont générés séquentiellement par une boucle et doivent recevoir ces information juste après leur création, je me doute qu'il faudras qu'il soit en attente jusqu'a qu'il les recoivent.
Si quelqu'un pouvait m'expliquer assez précisément comment faire ceci je l'en remercie d'avance.
Merci.
A voir également:
Java.lang.illegalargumentexception: adding a window to a container
mohdaef
Messages postés68Date d'inscriptionvendredi 23 novembre 2007StatutMembreDernière intervention14 mars 2012 22 mars 2008 à 12:42
Bonjour.
Je vois vois ce qu'il faut faire, dans ma boucle de création de threads je fait un PostThreadMessage() juste après la création d'un thread, si j'ai bien compris dans PostThreadMessage() les threads sont identifés par la variable de type DWORD que l'on à utiliser lors de sa créaction. Il est possible que je me trompe car je n'arrive pas du tout à envoyer de messages.
Serait-il possible d'avoir un exemple pour l'envoie des message et la boucle d'attente de message ?
mohdaef
Messages postés68Date d'inscriptionvendredi 23 novembre 2007StatutMembreDernière intervention14 mars 2012 22 mars 2008 à 22:58
Bonsoir.
Parcontre j'ai un autre soucis dans le même style je veux envoyer une structure à un thread je procède comme cela :
hthread[j] = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)Fonction,&structure,0,&dwid);
Pour récupérer la structure dans le thread je procède ainsi :
long WINAPI Fonction (structure* mastructure)
{
afficher(mastructure -> ..);.
}
Lorsque je veux lire les champs de ma structure ils sont vide, je doit louper une étape quelque part, si quelqu'un pourvais m'aider...
Merci.
Vous n’avez pas trouvé la réponse que vous recherchez ?
hydargos
Messages postés8Date d'inscriptionvendredi 6 septembre 2002StatutMembreDernière intervention26 mars 2008 25 mars 2008 à 12:47
perso, je créé un pointeur de structure, j'alloue la mémoire avec malloc, puis je passe le pointeur de structure au thread, la, aucuns problemes.
Puis dans le trhread, je recréé un pointeur de structure que je remplis ....
DWORD WINAPI thrd (LPVOID lParametre) <- déclaration du thread