Foros del Web » Programación para mayores de 30 ;) » .NET »

Sobre hilos de ejecución

Estas en el tema de Sobre hilos de ejecución en el foro de .NET en Foros del Web. Hola a tod@s! Esta pregunta creo que es un poco básica, pero no he trabajado con hilos de ejecución y no tengo mucha idea. Cuando ...
  #1 (permalink)  
Antiguo 06/02/2005, 14:09
 
Fecha de Ingreso: marzo-2004
Ubicación: Valencia
Mensajes: 367
Antigüedad: 20 años, 11 meses
Puntos: 1
Sobre hilos de ejecución

Hola a tod@s!
Esta pregunta creo que es un poco básica, pero no he trabajado con hilos de ejecución y no tengo mucha idea.

Cuando lanzo un proceso en un hilo

Dim hilo As New Threading.Thread(AddressOf funcionEjemplo)
hilo.Start()

Debo destruir ese hilo cuando el proceso que ejecuta ("funcionEjemplo" en este caso) termina? lo pregunto porque lanzo uno cada cierto tiempo y me preocupa que al no destruir nada se vaya acumulando en la memoria o que se yo.

Por otro lado, cuando cierro la aplicación el hilo se seguirá ejecutando sino ha acabado o se parará?


Muchas gracias, espero que alguien pueda aclarar mis dudas. Saludos
  #2 (permalink)  
Antiguo 06/02/2005, 18:23
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 21 años, 8 meses
Puntos: 7
Jejejeje, algo asi me pasaba el otro día a mi.

Haber, cuando cierras la aplicación, lo mejor es asegurarte de cerrar en Hilo si es que está activo. Para ello, en el evento Closing yo hice lo siguiente:

if Hilo.isAlive then
Hilo.Abort
end if
application.exit



Sobre lo de destruir el hilo cuando acabe la función puedes descirle, dentro de la misma funcion que cuando acabe la función mate la hebra.

Es decir, por emplo:
Dim hilo as thread
hilo = new thead(addressof metodo)
hilo.start
sub metodo
dim i as int16
for i=0 to 600
lista.items.add("Elemento " & i)
next
hilo.abort
end sub

Cualquier cosa, ya sabes.
Saludos.
__________________
Charlie.
  #3 (permalink)  
Antiguo 07/02/2005, 06:08
 
Fecha de Ingreso: marzo-2004
Ubicación: Valencia
Mensajes: 367
Antigüedad: 20 años, 11 meses
Puntos: 1
Gracias chcma, creo que más o menos lo tengo claro

Pero ya puestos otra pregunta sobre hilos. Cómo puedo pasarle parámetros al procedimiento que quiero ejecutar en el hilo?

Saludos
  #4 (permalink)  
Antiguo 07/02/2005, 07:37
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 21 años, 8 meses
Puntos: 7
Jejejeje, esa pregunta también la hice yo.

La única solución que encontré fue la de crear una variable pública, asignarle el valor a esa variable y despues ejecutar la Hebra.

Public Variable as int16

hebra = new thread(addressof metodo)
Variable=30
hebra.start

sub metodo()
Dim i as int16
for i=0 to Variable
combo.items.add("Elemento " & i)
next
end sub

Ok, makey ? ;)
__________________
Charlie.
  #5 (permalink)  
Antiguo 07/02/2005, 09:26
 
Fecha de Ingreso: marzo-2004
Ubicación: Valencia
Mensajes: 367
Antigüedad: 20 años, 11 meses
Puntos: 1
Ahora sí, todo claro
Espero no tener que hacerte ninguna pregunta más sobre esto.

Muchas gracias chcma
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:45.