Está en la página 1de 1

DETENER UN HILO DE FORMA CONTROLADA.

Cuando se cierra una aplicacin y hay hilos secundarios que an no han finalizado, es probable que
surjan problemas si estos no se detienen controladamente. A continuacin explicaremos cmo
realizar este proceso correctamente. Los pasos para realizar esta operacin son los siguientes:
1. Cuando se vaya a cerrar la aplicacin, el hilo principal informar a los hilos secundarios
que deben detenerse. Para informar de esta accin, utilizar un controlador de eventos de
espera, por ejemplo, controladorPararHiloSecundario.
2. Cuando el controlador de espera informe a los hilos secundarios de que deben detenerse, el
hilo principal esperar a qu estos le informen de que han parado, pero permitiendo
procesar eventos, lo cual lo hace invocando al mtodo Application.DoEvents. Esto evitar
interbloqueos ya que el hilo secundario hace llamadas a Invoque que se procesan en el hilo
principal.
3. Cada hilo secundario verificar en cada iteracin si le ha sido solicitado que se detenga, en
cuyo caso se realizarn las operaciones de limpieza necesarias e informar al hilo primario
de que ha parado utilizando para ello otro controlador de eventos de espera, por ejemplo,
controladorHiloSecundarioParado.

También podría gustarte