Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - LightHugh

#1
Esto es parte de mi código, sé que tiene errores de sintaxis aún por ello pido de su ayuda.

using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;

namespace CHilos1
{
    public class CHilo1
    {
        private Thread hilo;//identificador del hilo
        public CHilo1() : this(null) { }
        public CHilo1(string nombreHilo)
        {
            hilo = new Thread(ProcHilo);
            if (nombreHilo != null) hilo.Name = nombreHilo;
            //iniciar el hilo
           // hilo.Start();

        }
        public Thread HiloSubyacente
        {
            get { return hilo; }//referencia
        }
        private void ProcHilo()
        {
           // Console.WriteLine("el hilo finalizo");
          //  Console.ReadKey();

        }

        static void Main(string[] args) // cuerpo principal
        {
            CHilo1 entra = new CHilo1();
            bool estado;
            estado = entra.HiloSubyacente.IsAlive;
            int op;
            //String resp;
            try{
               // do{
                    Console.WriteLine("Menu");
                    Console.WriteLine("Que deseas hacer:  \n(1) Abortar \n(2) Join \n(3) Sleep \n(4) Iniciar ");
                    op = Convert.ToInt16(System.Console.Read());
                    switch(op){
                        case 1:
                            if (estado == true)
                           
                                Console.WriteLine("El hilo ya esta activo");
                           
                            else
                            {
                                entra.HiloSubyacente.Start();
                                Console.WriteLine("El hilo se inicio");
                                estado = true;
                            }
                            break;
                        case 2:
                            if (estado == true)
                                Console.WriteLine("El hilo ya esta activo");
                            else
                            {
                                entra.HiloSubyacente.Join();
                                Console.WriteLine("el hilo ha muerto");
                                estado = true;
                            }
                            break;
                        case 3:
                            Thread.Sleep(500);
                            Console.WriteLine("esta dormido");
                            break;
                    }
               // }while(true);
                }
                catch(Exception e){
                    Console.WriteLine(e);

                }
           
        }//fin del main
    }//fin de la clase
}// fin del name space
#2
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 ! ;D