Si invoco un método en el subproceso de interfaz de usuario, ¿está encriptado por la cola de mensajes de Windows y, por lo tanto, no necesita volver a entrar?¿Es necesario que un método organizado en el subproceso de UI sea seguro para subprocesos?
private void CalledFromWorkerThread()
{
//changed from 'InvokeRequired' Anti-Pattern
this.Invoke((Action) (() => _counter++; /* Is this ok? */));
}
Aclaración: Es sólo el hilo de interfaz de usuario que vaya a acceder _counter.
También debe utilizar un candado en el mostrador si no lo está haciendo. –
vea también aquí: http://www.yoda.arachsys.com/csharp/threads/winforms.shtml –
La prueba 'InvokeRequired' es un anti-patrón. 'Control.Invoke' ya contiene dicho control. –