Voici un petit code qui explique simplement l'utilisation du SynchronizationContext pour obtenir un code Thread-safe.
using System; using System.Threading; namespace WindowsFormsApplication1 { /// <summary> /// Classe métier qui a besoin d'avoir des appels avec SynchronizationContext /// </summary> public class Class1 { private SynchronizationContext _context; /// <summary> /// Constructeur /// </summary> public Class1() { // Mémorisation du context _context = SynchronizationContext.Current; } /// <summary> /// Lancement de la méthode hors context /// </summary> public void DoWork() { // Test si on a un context (juste par prudence) if (_context != null) { // Appel de la méthode via le context _context.Post(Work, null); } } /// <summary> /// Méthode que l'on souhaite proteger via SynchronizationContext /// </summary> /// <param name="data"></param> private void Work(Object data) { // Faire le job } } }
LES COMMENTAIRES (1)
posté le 20 janvier à 13:55
Salut, J'arrive tous juste sur ce forum qui m'a l'air interressant. habitué des forum et gros contributeur, je suis interressé par votre concept. A bientot sur le forum