Bonjour,
Je travaille avec un contrôle WPF dont je souhaite modifier ses propriétés dans un
autre thread. Je voudrais pouvoir interrompre l'exécution du thread
depuis un thread
extérieur, à n'importe quel moment, instantanément (l'équivalent de la
méthode Thread.Abort()).
- La classe
BackgroundWorker ne me conviens pas car l'appelle de la méthode CancelAsync() n'interrompt pas directement thread associé, mais lance
simplement un appel pour dire que l'on veut l'arrêter. Il faut alors
vérifier régulièrement dans la méthode appelée par BackgroundWorker.BeginInvoke() si
un appel d'annulation a été lancé pour pouvoir réellement stopper
l'exécution du thread.
- Une autre solution serait d'utiliser le
Dispatcher de mon contrôle wpf. Mais celui-ci s'exécute dans le thread principal et interrompre le thread associé reviendrait à arrêter l'application toute entière...
Auriez-vous une autre solution à me proposer ?
Merci d'avance pour vos suggestions,
Mathmax
****************************************
