在《编程 C # 》一书中,有一些关于 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
方法时,UI 线程会做什么?
如果我问一些愚蠢的事情,请纠正我,谢谢!
编辑: 例如,如果我只是在方法中编写 myTextBox.Text = text;
,有什么区别?