C# 使用同步上下文(Synchronization)切换UI线程

2023-12-18 20:52:36

使用前探究:WPF中可以使用Dispatcher然后Invoke一个新方法,然后方法内部就可以对控件进行修改了,那么这个同步上下文有什么好处呢?

? ? ? ? 两个的作用其实是一样的,但是使用Synchronization是WPF、Winform、ASP.NET都可以使用的,提高了代码的可移植性

使用:

SynchronizationContext synchronizationContext = SynchronizationContext.Current;

Task.Run(() =>
{
    // 需要在UI线程执行的代码
    synchronizationContext.Post(_ =>
    {
        // 在这里安全地更新UI控件
    }, null);
});

想要省事还是用BeginInvoke(Winform)、Dispatcher(WPF)

文章来源:https://blog.csdn.net/weixin_46407807/article/details/135069932
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。