В книге "Программирование С#" у него есть пример кода SynchronizationContext
:
SynchronizationContext originalContext = SynchronizationContext.Current;
ThreadPool.QueueUserWorkItem(delegate {
string text = File.ReadAllText(@"c:\temp\log.txt");
originalContext.Post(delegate {
myTextBox.Text = text;
}, null);
});
Я новичок в потоках, поэтому, пожалуйста, ответьте подробно.
Во-первых, я не знаю, что означает контекст, что сохраняет программа в originalContext
? И когда запущен метод Post
, что будет делать поток пользовательского интерфейса?
Если я попрошу некоторые глупые вещи, пожалуйста, исправьте меня, спасибо!
EDIT: Например, что, если я просто напишу myTextBox.Text = text;
в методе, какая разница?