Je suis novice en programmation Windows C++. S'il vous plaît voir le code ci-dessous où je veux synchroniser les deux threads. Le premier thread devrait imprimer "Bonjour" puis passer le contrôle/événement au deuxième thread. Vous ne savez pas comment le faire. A partir de maintenant, j'utilise le sommeil (1000). Mais si je n'utilise pas le sommeil, il en résulte un comportement indéfini. S'il vous plaît aider ...Synchronisez deux threads en passant des événements entre eux
#include <windows.h>
#include <process.h>
#include <iostream>
void thread1(void*);
void thread2(void*);
int main(int argc, char **argv) {
_beginthread(&thread1,0,(void*)0);
_beginthread(&thread2,0,(void*)0);
Sleep(1000);
}
void thread1(void*)
{
std::cout<<"Hello "<<std::endl;
}
void thread2(void*)
{
std::cout<<"World"<<std::endl;
}
Si vous voulez que les choses s'exécutent dans l'ordre, pourquoi ne pas les exécuter sur le même thread, l'une après l'autre? –
Non ... c'est juste pour ma compréhension de la synchronisation de fil .... –
La réponse à cette question pourrait éventuellement prendre un livre entier. Vous demandez fondamentalement "enseignez-moi multithreading." –