guy68, nicodache Le salon de discussion : magicrincevent, 1 utilisateur anonyme et 9 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Stopper un thread

n°3249
darkelf
I will be back of my TT
Posté le 15-06-2004 à 08:31:07  profilanswer
 

ouah le boulet bouh le nul il sait pas arf il a pas fait recherche et pis l'aide en ligne cpas pour les chiens (gnagnagna) [...]
 
oui bon certe, si ce n'est que je tourne sous labwindows (je ne peux pas en changer) et que je cherche a arrêter un thread manuellement (enfin en code) et dans ma doc, l'aide sur le multithread fait 10 lignes
 
actuellement la méthode que j'utilise est la suivante:
...
le thread_1  met a 0 un flag
le thread_2 pull le flag et voit qu'il est a 0 et du coup s'arrete (en quittant la func)
le thread_1 attend l'arret du thread_2
...
 
moi je cherche un :
thread_1 mance une commande pour killer le thread_2
 
 
voila, des idées?

mood
Google
Posté le 15-06-2004 à 08:31:07  profilanswer
 

n°3253
Deadog
Dain Bramaged
Posté le 15-06-2004 à 13:27:25  profilanswer
 

en utilisant les signaux ? (je sais pas du tout si ça existe sous win !)
 
en principe, thread1 va lancer un signal vers thread2
thread2 va l'intercepter et lancer sa propre procédure d'arret


Message édité par Deadog le 15-06-2004 à 13:28:48
n°3254
darkelf
I will be back of my TT
Posté le 15-06-2004 à 15:27:23  profilanswer
 

oui c'est ce que je fais via des flags. Mais ca implqiue de faire des tests sans arret pour vérifier que le flag est pas passé a 1. Ca fait une petite tendance a doubler mon code (si le thread 1 veut que le deux s'arrête, je ne dois pas executer une seule commande plus sur le 2).
 
PS: c'est vraiment la merde labwindows, le prochain soft je le fait en VC++, ca sera moins jolie graphiquement amsi au moins je ferais ce que je veux!

n°3255
Deadog
Dain Bramaged
Posté le 15-06-2004 à 16:12:56  profilanswer
 

ah , en flag pê, mais en signaux normallement tu dois pas te mettre en attente
ça t'interrompera tout seul quand le signal arrive (suivant la norme posix)

n°3260
CryoGen
Powered by kitkat©
Posté le 15-06-2004 à 19:30:13  profilanswer
 

y'a pas un risque de perte des signaux ? il me semble que ce n'est pas une solution viable @100% non ?
 
Il pourrait recuperer le pid du thread et executer une commande kill si y'a un equivalent sous windows :/ ?


---------------
I am the bone of my sword...
n°3264
darkelf
I will be back of my TT
Posté le 15-06-2004 à 19:44:30  profilanswer
 

bah c'est pas que windows, c'est aussi CVI, j'ai aps accès a tout ( ca me gonfle bien d'ailleur..)
mais bon dans les exemples cvi que j'ai, c'est le meme primcipe a deux francs: flags mis a 1 quand on veut quitter...
bon v rester comme ca, dommage il me semble avoir vu un stop process dans le sdk de windows...


---------------
TT du site TéléTubbies, même la bas on veut pas de moi
n°3266
Deadog
Dain Bramaged
Posté le 15-06-2004 à 19:50:20  profilanswer
 

CryoGen a écrit :

y'a pas un risque de perte des signaux ? il me semble que ce n'est pas une solution viable @100% non ?
 
Il pourrait recuperer le pid du thread et executer une commande kill si y'a un equivalent sous windows :/ ?


 
 
tuot mes progs en multi-thread je les ai tjrs archètipé avec les signaux et j'ai jamais eu de problème de fiabilité [:spamafote]
 
et un kill en posix c'est entre-autre un signal ;)


Message édité par Deadog le 15-06-2004 à 19:51:05
n°3273
ced-2k
TODO : Insert text here.
Posté le 15-06-2004 à 20:13:27  profilanswer
 

CryoGen a écrit :

y'a pas un risque de perte des signaux ? il me semble que ce n'est pas une solution viable @100% non ?
 
Il pourrait recuperer le pid du thread et executer une commande kill si y'a un equivalent sous windows :/ ?

le 1er signal arrivera toujours. on peut perdre les suivants si le handler du 1er signal n'est pas terminé, mais on ne perdra jms le premier.
 
mais cela dépends de l'implémentation de posix, on peut tres bien compter les signaux recu pendant le handler (dans posix 1003.4d de mémoire)...

n°3274
CryoGen
Powered by kitkat©
Posté le 15-06-2004 à 21:33:36  profilanswer
 

merci pour l'eclaircissement sur les signaux ca va mettre tres utile :)


---------------
I am the bone of my sword...
n°3276
darkelf
I will be back of my TT
Posté le 15-06-2004 à 22:07:38  profilanswer
 

erf j'aimerais bine moi aussi me servir de ca, mais je peux pas, mon thread est créé et l'handler m'a pas l'ai compatible avec le sdk de windows :(
 
merci qd meme les gens :)


---------------
TT du site TéléTubbies, même la bas on veut pas de moi
n°3958
gogou
En plein travail...
Posté le 29-08-2004 à 17:19:10  profilanswer
 

pid_t   Idfils;
Idfils = fork();
if (!Idfils)
{  
process0();
}
kill(Idfils,SIGKILL);
 
Ca pourra ptêtre t'aider, j'ai pas lu tt le post
Bon amusement
 
edit:
arf winxp pas sur que ça fct dessus


Message édité par gogou le 29-08-2004 à 17:20:28
n°3960
Deather2
OpenBSD: the way to go!
Posté le 29-08-2004 à 20:50:06  profilanswer
 

C'est du code UNIX/Linux ça :/

mood
Google
Posté le 29-08-2004 à 20:50:06  profilanswer
 


Aller à :
Ajouter une réponse
 

Hit Parade