[C++] 2 create thread en même temps ?
Résolu
Orphée
-
mstarsup5 -
mstarsup5 -
Bonjour à toutes et à tous,
Je suis en trai nde programmer une application qui doit exécuter 2 threads en même temps (sous windows). Apres avoir fait des recherches, jutilise la fonction CreateThread et tout ce qui va bien avec. Néanmoins, lorsque je lance mon application, je m'apercois que le thread 1 fonctionne bien mais que le 2 n'est pas activé. Il s'active uniquement lorsque le 1 se termine.
Je me demande donc si cela est normal :/
Si oui, existe t il un moyen d'executer 2 thread en même temps ?
Au risque d'abuser de votre bonté, une seconde question me turlupine.... Comment tuer un thread alors que sa creation et sa destruction ne se feront pas dans la même fonction ?
Merci d'avance pour vos réponses.
Orphée
ex :
hThread = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE) tcp_thread->main() , NULL, 0, &iID);
hThread2 = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE) com_thread->main() , NULL, 0, &iID2)
hThread2 ne se lance que lorsque 1 a fini ....
Je suis en trai nde programmer une application qui doit exécuter 2 threads en même temps (sous windows). Apres avoir fait des recherches, jutilise la fonction CreateThread et tout ce qui va bien avec. Néanmoins, lorsque je lance mon application, je m'apercois que le thread 1 fonctionne bien mais que le 2 n'est pas activé. Il s'active uniquement lorsque le 1 se termine.
Je me demande donc si cela est normal :/
Si oui, existe t il un moyen d'executer 2 thread en même temps ?
Au risque d'abuser de votre bonté, une seconde question me turlupine.... Comment tuer un thread alors que sa creation et sa destruction ne se feront pas dans la même fonction ?
Merci d'avance pour vos réponses.
Orphée
ex :
hThread = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE) tcp_thread->main() , NULL, 0, &iID);
hThread2 = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE) com_thread->main() , NULL, 0, &iID2)
hThread2 ne se lance que lorsque 1 a fini ....
A voir également:
- [C++] 2 create thread en même temps ?
- Renommer plusieurs fichiers en même temps - Guide
- Supercopier 2 - Télécharger - Gestion de fichiers
- Avoir 2 comptes whatsapp sur le même téléphone - Guide
- Maps satellite en temps réel - Guide
- 2 ecran pc - Guide
2 réponses
Reponse pr ma premiere question trouvée :
DWORD WINAPI Thread( LPVOID IpvThreadParam )
{
// code que le thrad executera
}
Dans le Main :
// Initialisation de la section critique
HANDLE hThread;
DWORD dwThreadId ;
DWORD dwThreadParam = 1 ;
// création des Threads
hThreads = CreateThread ( NULL, NULL, Thread, &dwThreadParam, 0, &dwThreadId ) ;
Mais concernant ma seconde question, je n'ai toujours pas trouvé la solution... :/
DWORD WINAPI Thread( LPVOID IpvThreadParam )
{
// code que le thrad executera
}
Dans le Main :
// Initialisation de la section critique
HANDLE hThread;
DWORD dwThreadId ;
DWORD dwThreadParam = 1 ;
// création des Threads
hThreads = CreateThread ( NULL, NULL, Thread, &dwThreadParam, 0, &dwThreadId ) ;
Mais concernant ma seconde question, je n'ai toujours pas trouvé la solution... :/
Reponse pour ma première question :
voivi le lien : https://forum.hardware.fr/hfr/Programmation/C/windows-comment-simultanement-sujet_41153_1.htm
voivi le lien : https://forum.hardware.fr/hfr/Programmation/C/windows-comment-simultanement-sujet_41153_1.htm