[C#]Les threads

Lust Messages postés 243 Statut Membre -  
Char Snipeur Messages postés 10112 Statut Contributeur -
Salut,

J'ai un ptit pb avec les threads.... voila, en faite j'ai une boucle qui peut prendre plus moins de temps à éxécuter, et donc, j'aimrais avoir un bouton pour la stopper... j'ai donc vu que la solution serait de mettre cette boucle dans un thread et stopper le thread... mais ca marche tjr pas, l'appli ne réagit qu'a la fin de l'exécution du thread.

myThread = new Thread(new ThreadStart(LanceMapSite));
myThread.Start();
myThread.Join();

le truc, c'est que j'ai mis le "myThread.Join();" parce que j'attends qu'il finisse pour exécuter le reste.... ca viens de ca?

Sinon, comment fait on pour interrompre une boucle ou autre.... afin d'éviter que l'utilisateur impatient ne fasse ctrl-alt-suppr....

merci pour votre aide
A voir également:

1 réponse

Char Snipeur Messages postés 10112 Statut Contributeur 1 299
 
Salut.
J'y connai rien en C#, mais en C/C++.
en regardant dans la doc, j'ai trouvé qu'il existe un "thread_kill"
il doit y avoir la même chose en C#.
En fait celui ci semble reposer sur l'émission réception de signal.
Il te reste donc à émettre un signal depuis la partie principale de ton programme, et à le récupérer dans le thread.
en C++, le thread_join() attend que le thread se termine normalement, c'est alors normal que ton programme ne fasse pas ce que tu attendes de lui.
1