Bonjour à tous:
je suis un développeur VB.Net : Est ce qu' il une méthode qui permet de terminer la méthode en cours d'exécution par le runtime car je besoin de mettre en condition le nom de tel methodes.
merci pour votre aide
Bonjour à tous:
je suis un développeur VB.Net : Est ce qu' il une méthode qui permet de terminer la méthode en cours d'exécution par le runtime car je besoin de mettre en condition le nom de tel methodes.
merci pour votre aide
Bonjour
Il y a une possibilité avec les classes StackTrace et StackFrame.
cf. l'exemple sur MSDN : http://msdn.microsoft.com/fr-fr/libr...tackframe.aspx
Néanmoins, peux tu préciser exactement ton besoin fonctionnel, car l'instanciation d'objet StackTrace n'est pas exactement une opération neutre en terme de performance; de ce fait, ce type d'opération est en général limité à des framework d'instrumentation ou des routines de traitement d'erreur.
Pour forcer l'arret d'un thread il y a aussi ces 2 méthodes.
La première c'est le bon vieux thread.Abort (Stop le thread, lance une exception dans le thread qu'on peut interrompre si besoin). Attetion il n'est pas possible de relancer le thread avec .Start ensuite. Il faut reassigner un nouveau thread à la variable avant.
La deuxième c'est de passer par une variable boolean, contrôlée par le thread principal, qui sera testée à intervale régulier par le thread de calcul (dans une boucle par exemple) et pouvant provoquer la sortie de la fonction et l'arret du thread.
J'ajouterai une technique home made pas kick & dirty utilisable entre autre dans les fonctions asynchrone.
Vérifier à la fin du calcul du thread que les paramètres d'entrée n'ont pas changer avant d'appeller le callback (traitement de l'affichage).
On suppose que si les paramètres d'entrée ont changés, le résultat est périmé et par conséquent qu'il ne faut pas utiliser le résultat.
Bien entendu un nouveau thread de calcul doit être lancer sur chaque changement des paramètres pour que ça fonctionne (c'est pas jolijoli car il est possible que des threads mangent des ressources pour rien pendant un certains temps).
Partager