SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: Gandalf_malaga7 en Lunes 27 de Marzo de 2006, 20:26

Título: Ayuda Con Un Thread!!!!!!
Publicado por: Gandalf_malaga7 en Lunes 27 de Marzo de 2006, 20:26
Que tal colegas!!!!!!!! :hola:

bueno me ocurre lo siguiente.Tengo un formulario principal,desde el que llamo a un Thread,es decir hago todas las definiciones necesarias y después:

Código: Text
  1.  
  2. t.Start();
  3.  
  4.  

y yo kiero que pasados 60 segundos,aunque no haya terminado de ejecutarse el hilo,este se suspenda.En principio pensé que se hacía así:

Código: Text
  1.  
  2. t.Join(60000);
  3.  
  4.  

pero parece que esto lo que hace es suspender el hilo durante 60 segundo y después seguir con su ejecución,

sabrían decirme como hacerlo???,

gracias colegas!!!!!! :kicking:
Título: Re: Ayuda Con Un Thread!!!!!!
Publicado por: The Black Boy en Lunes 27 de Marzo de 2006, 21:08
y si utilizas un timer   :D    
 no seria mas facil  ....
salu2 :hola:
Título: Re: Ayuda Con Un Thread!!!!!!
Publicado por: Gandalf_malaga7 en Martes 28 de Marzo de 2006, 00:33
Claro,eso sería la solución para los 60 segundos,pero realmente mi duda es como mato el hilo tras esos 60 segundos??? :(

con t.Abort() o que se usa???,y si justo cuando lo estoy matando está accediendo a BBDD o algo de eso que pasaría???,

 :kicking:
Título: Re: Ayuda Con Un Thread!!!!!!
Publicado por: Gandalf_malaga7 en Martes 28 de Marzo de 2006, 13:40
Ya tengo el problema solucionado :smartass: ,

sólo necesito saber una cosa:

para matar el hilo estoy usando

Código: Text
  1. hilo.Abort();
  2.  

¿es esto correcto?,¿mata al hilo totalmente o sólo lo suspende?

gracias!!!!!! :kicking:
Título: Re: Ayuda Con Un Thread!!!!!!
Publicado por: hellscream en Martes 28 de Marzo de 2006, 20:44
Lee la documentación (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemThreadingThreadClassAbortTopic.asp)
Título: Re: Ayuda Con Un Thread!!!!!!
Publicado por: Gandalf_malaga7 en Miércoles 29 de Marzo de 2006, 18:09
Hasta ahí llego,gracias de todas formas,

mi duda viene por:

Citar
Raises a ThreadAbortException in the thread on which it is invoked, to begin the process of terminating the thread. Calling this method usually terminates the thread.

por eso no sabía si lo suspendía o lo mataba totalmente, no m apetece que mi aplicación vaya dejando por ahí hilos vivos.Pero bueno, por las pruebas que hecho parece que con "Abort" mueren,

gracias de nuevo y salu2!!!!!!! :hola:
Título: Re: Ayuda Con Un Thread!!!!!!
Publicado por: JuanK en Miércoles 29 de Marzo de 2006, 18:37
Hola, recien he revisado el post...
si, con abort en efecto se muere el hilo.
Título: Re: Ayuda Con Un Thread!!!!!!
Publicado por: sergiotarrillo en Jueves 30 de Marzo de 2006, 04:06
Aca te dejo un artículo a detalle de hilos: Programación del pool de hilos .NET (http://www.microsoft.com/spanish/msdn/articulos/archivo/080302/voices/programacion.asp).

Y lo que hace el método Thread.Abort (http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/cpref/html/frlrfsystemthreadingthreadclassaborttopic.asp) es: Inicia una excepción ThreadAbortException en el subproceso en el que se invoca, para iniciar el proceso de finalización del subproceso. Normalmente, una llamada a este método finaliza el subproceso

Saludos,