在WPF中,UI Dispatcher.BeginInvoke方法是线程安全的吗?

5

我有一个使用了多线程的WPF应用程序。我想知道是否使用Dispatcher.BeginInvoke()方法调用UI线程被认为是线程安全的?通常,我会使用锁语句来确保只有一个线程可以访问变量。在WPF应用程序中,以下代码是否是线程安全的?

this.Dispatcher.BeginInvoke(() =>
{
    _counter ++;
});
1个回答

6

Dispatcher.BeginInvoke 方法 将在 Dispatcher 线程上运行其回调(通常是 UI 线程,除非你有多个 Dispatchers)。

因此,如果你只在 UI 线程上使用 counter 变量,则不会出现线程问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接