2010-09-12 63 views
5

我有一個使用一些多線程的WPF應用程序。我很想知道是否使用被認爲是線程安全的Dispatcher.BeginInvoke()方法調用UI線程?通常我會使用鎖定語句來確保只有一個線程可以訪問變量。以下內容在WPF應用程序中是線程安全的嗎?在WPF中,UI的dispatcher.begininvoke方法線程安全嗎?

this.Dispatcher.BeginInvoke(() => 
{ 
    _counter ++; 
}); 

回答

6

Dispatcher.BeginInvoke method將分派線程上運行其回調(typcially UI線程,除非你有多個調度員)

因此,如果你只使用UI線程上counter變量,你將有沒有線程問題。