Bonjour à tous,
Comment, depuis un thread B, exécuter une méthode sous un thread A ? Je m'explique.
Le thread A est le thread principal, le main, le thread de base. Le thread B a été créé pour effectuer une tâche assez longue, en arrière plan et bien sûr pour éviter de bloquer le thread A. Une fois que le thread B a terminé son travail, j'aimerais que le thread B donne l'ordre au thread A d'exécuter une méthode quelconque, mais que cette méthode soit effectivement exécutée par le thread A et non par le B.
Pourquoi ? La raison est que le thread A utilise une librairie XY qui n'accepte des instructions QUE du thread principal, donc le A. Si B appelle une méthode de cette librairie, l'instruction est refusée et génère une exception.
En Windows Forms, il existe le magnifique BackgroundWorker qui fonctionne à merveille, sauf que mon application est en Console et doit le rester. Quelles sont les possibilités ?
J'ai essayé notamment les appels asynchrones mais chaque appel asynchrone que j'ai pu faire dans une application console était exécuté dans un thread différent, ou encore le thread B.
Merci d'avance pour vos réponses,
Ritchouone
Partager