Je dois pouvoir suspendre et reprendre le thread principal dans une application Windows C++. Je l'ai utiliséSuspendre et reprendre le thread principal en C++ pour Windows
handle = GetCurrentThread();
SuspendThread(handle);
et alors, où est devrait reprendre
ResumeThread(handle);
tout en suspendant son fonctionnement, la reprise non. J'ai d'autres threads qui sont suspendus et repris sans problème, y at-il quelque chose qui est différent avec le fil principal.
J'ai fait beaucoup de threads en C# et en Java mais c'est la première fois que j'en ai fait en C++ et je trouve que c'est un peu différent.
Le thread principal essaie de se suspendre et de se reprendre. Comment un thread peut-il se reprendre lorsqu'il est arrêté et ne peut pas exécuter l'appel ResumeThread. – rerun
Non, il appelle SuspendThread lui-même, mais ResumeThread est appelé plus tard par un autre thread. En mode débogage, il affiche le nombre de suspensions sur le volet des threads, il augmente de 1 lorsque la fonction suspend est appelée mais ne baisse pas de un lorsque CV est appelé. –
Est-ce que ResumeThread() renvoie une valeur négative, et si oui, que retourne GetLastError()? –