SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: pino79 en Miércoles 21 de Febrero de 2007, 18:37

Título: Gestionar Hilos De Ejecución
Publicado por: pino79 en Miércoles 21 de Febrero de 2007, 18:37
Estoy intentando gestionar una aplicacion con hilos, para que no se quede colgada mientras sube un fichero a un FTP. Por ahora he conseguido crear el hilo y empezar a subir el fichero, pero no se como gestionar cuando ha terminado el hilo, para mostrarle un mensaje al usuario.

Por ahora este es el código que tengo generado.

            ParameterizedThreadStart pts = new ParameterizedThreadStart(Fhilo);
            string[] parametro = new string[3];

            parametro[0] = ori;
            parametro[1] = dir;
            parametro[2] = des;


            Thread _hilo = new Thread(pts);
            _hilo.Start(parametro);

Agradecería cualquier ayuda.
Título: Re: Gestionar Hilos De Ejecución
Publicado por: JuanK en Miércoles 21 de Febrero de 2007, 19:53
necesitas acceder a un callback cuando devuelve el hilo, para esto puedes investigar acerca de Callbacks en C# usando hilos.

Metodos, objetos e interfaces relacionadas:

IAsyncResult
AsyncCallback

BeginInvoque
EndInvoke

Por parte del hilo en el objeto ThreadStart ( o ParametrizedThreadStart) tienes acceso a los métodos BeginInvoke y EndInvoke,  sin embargo una recomendación es que hagas que la clase que controla lo del envío herede de System.MulticastDelegate
para que implementes los métodos relacionados y luego puedas enviar el servicio FTP sin utilizar la clase thread utilizando BeginInvoke y luego esperas en otro lugar a que acabe el servicio FTP utilizando EndInvoque.