Kill thread

Signaler
Messages postés
111
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
5 août 2011
-
Messages postés
111
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
5 août 2011
-
Bonjour,

J'aimerais savoir par quelle moyen je peut terminer un thread aprés un certain temps d'inactivité...

4 réponses

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Salut,

Tu peux préciser ta question s'il te plait ?

Notamment :
"un certain temps d'inactivité"

Un thread dans un Sleep ?
Un thread dans un appel bloquant (scanf, GetMessage, WaitForSingleObject...) ?
Messages postés
111
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
5 août 2011
1
Salut,

En fait je créé un thread dans lequel j'effectue des accès en écriture sur un disque dur endommagé et j'aimerais stoper le thread lorsque le programme bloque depuis plus de 1minute à cause d'une défaillance du disque.
 
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Dans ton thread secondaire, tu dois pouvoir mettre à jour régulièrement une variable globale (Attention à la gestion de la concurrence d'accès).

Dans ton thread principal, à l'aide d'un timer, tu peux lire périodiquement la variable globale. Si elle n'a pas été mise à jour depuis un certain temps, tu peux killer le thread avec Terminatethread. Attention de bien lire la doc : c'est une fonction violente.

Tu peux aussi utiliser une solution plus élégante avec un thread supplémentaire qui attend des évènements émis par le thread de lecture. Le thread attendant le thread de lecture utiliserais WaitForSingleObject, avec un timeout. En sortie de cette fonction, tu regardes si la cause de sortie est le timeout ou l'évènement. Si c'est l'évènement, tu boucle sur ton WaitForSingleObject. Si c'est le timeout, c'est que le thread de lecture n'a pas déclenché d'évènement depuis un moment -> tu le kill.
Messages postés
111
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
5 août 2011
1
Merci pour ces infos... je teste demain

salut.