No tengo Visual Studio acá, por lo que no puedo correrlo, lo miré un poco, pero podrías explicar cual es la finalidad de la aplicación?
Un saludo
Seguramente será algún trabajo de clase para aprender como funcionan los hilos.
Nevamente molestando a la gente de este foro, y bien, resulta que me han pedido realizar un programa en C# que ejecute la inicialización de un hilo (Thread) pero notificando que tiene que pasar por los estados .Start(); .Abort(); .Sleep(); .Join(); IsAlive(); y nuevamente que me mande un mensaje de que a pesar de haberlo inicializado una vez pueda repetir ese ciclo, es decir, que pueda inicializarlo otra vez y empezar nuevamente, me mencionaban que era necesario un do-while para que haga los recorridos pero es ahí donde yo me atoré porque hago la inicialización y llego hasta el sleep pero cuando quiero inicializarlo otra vez me manda un mensaje de error diciendo que el hilo ha sido inicializado... espero que lo masters de la programación puedan hecharme una salvadita a este gran problema y de antemano se los agradeceré. Larga vida al foro !
A simple vista en tu código:
-La inicialización del hilo está mal, el argumento debe ser un ThreadStart, quedaría: hilo=new Thread(new ThreadStart(ProcHilo));
-ProcHilo no hace nada por lo tanto cuando se ejecute terminará al instante y el .abort, .sleep, .join y demás no tendrán sentido, deberías poner un bucle infinito dentro y hacer el catch de la excepción cuando el hilo principal llame a .abort
-En el hilo principal estas instanciando cHilo1() sin parámetros pero cuando se crea Thread es en el constructor con parámetro nombreHilo, nunca se crea Thread
-public CHilo1() : this(null) { } Hereda de ella misma? :S para que?
-Sobre lo del bucle que recorra todo en orden, el orden a seguir sería:
Start //Inicia el hilo
Sleep //Pausa el hilo durante cierto tiempo
Abort //Provoca excepción en el hilo para finalizarlo
Join //Bloquea el hilo principal hasta que el hilo finaliza
Saludos!