Tengo una pregunta estilística sobre la elección de la implementación de subprocesos de fondo que debo usar en una aplicación de formulario de Windows. Actualmente tengo BackgroundWorker
un formulario que tiene un (while(true))
bucle infinito . En este ciclo, uso WaitHandle.WaitAny
para mantener el hilo dormitando hasta que suceda algo interesante. Uno de los identificadores de eventos que espero es un " StopThread
" evento para poder salir del bucle. Este evento se señala desde mi anulación Form.Dispose()
.
Leí en algún lugar que BackgroundWorker
realmente está destinado a operaciones con las que no desea vincular la interfaz de usuario y tiene un fin finito, como descargar un archivo o procesar una secuencia de elementos. En este caso, el "final" es desconocido y solo cuando la ventana está cerrada. Por lo tanto, ¿sería más apropiado para mí usar un hilo de fondo en lugar de BackgroundWorker
para este propósito?