29 Ocak 2018 Pazartesi

SynchronizationContext Sınıfı

Giriş
Thread A ile Thread B'ye benim için bu kodu çalıştır demek isterse Thread B'nin SynchronizationContext nesnesini kullanır. Her thread SynchronizationContext nesnesine sahip olmak zorunda değildir!

Current Alanı
Şöyle yaparız.
var context = SynchronizationContext.Current;
Post metodu
Şöyle yaparız.
SynchronizationContext originalContext = SynchronizationContext.Current;
ThreadPool.QueueUserWorkItem(delegate {
    string text = File.ReadAllText(@"c:\temp\log.txt");
    originalContext.Post(delegate {
        myTextBox.Text = text;
    }, null);
});
Send metodu
Şöyle yaparız.
context.Send (delegate() { update GUI here });

Hiç yorum yok:

Yorum Gönder