c# - ¿Por qué es SynchronizationContext.Current nulo en mi aplicación Winforms?
multithreading (2)
Acabo de escribir este código:
System.Threading.SynchronizationContext.Current.Post(
state => DoUpdateInUIThread((Abc)state),
abc);
pero System.Threading.SynchronizationContext.Current es nulo
Para que funcione.
En tu clase
private SynchronizationContext synchronizationContext;
En el hilo de la interfaz de usuario (hilo principal)
synchronizationContext = System.Threading.SynchronizationContext.Current;
En el hilo del trabajador
synchronizationContext.Post(
state => DoUpdateInUIThread((Abc)state),
abc);
Ver esta explicacion
SynchronizationContext.Current solo se establece en el hilo principal (que es el único hilo en el que realmente no lo necesita)
La entrada del blog propone una solución.