2010-09-12 18 views
5

Tengo una aplicación WPF que utiliza algunos hilos múltiples. Tengo curiosidad por saber si llamar al hilo de UI utilizando el método Dispatcher.BeginInvoke() se considera seguro para subprocesos Normalmente usaría la declaración de bloqueo para asegurarme de que solo un hilo pueda acceder a una variable. ¿Sería lo siguiente seguro para subprocesos en una aplicación WPF?En WPF, ¿el subproceso UI dispatcher.begininvoke es seguro?

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

Respuesta

6

El Dispatcher.BeginInvoke method seguirá su devolución de llamada en el subproceso despachador (typcially el hilo de interfaz de usuario, a menos que tenga múltiples despachadores)

Por lo tanto, si sólo utiliza la variable counter en el hilo de interfaz de usuario, tendrá sin problemas de enhebrado

Cuestiones relacionadas