killer un thread ! [C/C++] - C++ - Programmation
Marsh Posté le 23-04-2003 à 16:42:41
Normal, ExitThread est appelé par le thread lui meme, qui "s'auto termine".
Utilise TerminateThread.
http://msdn.microsoft.com/library/ [...] ctions.asp
Marsh Posté le 23-04-2003 à 16:45:12
C'est pas tout a fait ca...
le ExitThread() s'appelle pour exiter le thread ACTUEL. donc si tu l'appelles dans le main, bah ton prog s'arretera ptet.
Dans ton cas faut appeler TerminateThread() avec comme parametre le retour de CreateThread() (de type HANDLE)
pas assez de lecture de msdn tout ca...
Marsh Posté le 23-04-2003 à 19:20:29
Dans MSDN ils disent clairement que TerminateThread est à eviter.
Le mieux est de positionner un évenement pour demander au thread de se terminer.
Marsh Posté le 23-04-2003 à 16:34:31
Salut a tous !
voila je voudrais savoir comment on kill un thread de force !
voila mon source
#include <stdio.h>
#include <windows.h>
DWORD WINAPI rien(LPVOID lpParameter)
{
int sec = 0;
while (1)
{
Sleep(1000);
sec++;
printf("%d secondes\n",sec);
}
return 1;
}
int main(void)
{
char car[6];
DWORD dw;
CreateThread(NULL, 0, rien, NULL, NULL, &dw);
do {
scanf("%s",car);
printf("\n%s\n",car);
if (!strcmp (car,"toto" )) printf("\nn fds \n\n" );
if (!strcmp (car,"tt" )) {
printf("fermeture du theard" );
ExitThread(dw);
}
} while (1);
}
le ExitThread(dw); ne ferme pas le thread je voudrais que kand l'utilisateur appuis sur tt ca arrete de compter !
merci