En mi aplicación WPF, quiero hacer algo de trabajo en un hilo que no sea UI para evitar que la IU no responda. Para que hice esto:¿BeginInvoke() ejecuta un hilo separado?
var caller = new AsyncMethodCaller<Pattern>(this.SetPatternType);
caller.BeginInvoke(_patterns, null, null);
y el delegado se define como,
public delegate void AsyncMethodCaller<in T>(IEnumerable<T> data);
Mi pregunta es:
¿Tiene BeginInvoke()
crear un nuevo hilo y la devolución de llamada SetPatternType
carreras en ella? Si es así, ¿cuánto tiempo dura este hilo?
¿Este enfoque es bueno en general? Si no, ¿qué tiene de malo? ¿Y qué problema (s) potencial (es) podría enfrentar?
estoy usando C# 4.0 y Visual Studio 2010.
EDIT:
También necesito algunas pautas con respecto a éstos:
cuando debería crear un nuevo hilo a mí mismo y cuando ¿Debo hacer uso de BeginInvoke()
? ¿Y cuándo debería usar el objeto DispatcherObject.Dispatcher.BeginInvoke()
?
¿Qué versión .NET utiliza? – PVitt
@PVitt: Creo ... Estoy usando .NET 4.0 ya que estoy usando Visual Studio 2010. – Nawaz