Java - ayuda con threads

 
Vista:

ayuda con threads

Publicado por pedro (2 intervenciones) el 09/06/2008 17:29:08
hola

necesito crear un thread para que cada X segundos se repita una accion, y me interesa saber tambien como parar el thread y rearrancarlo

nunca he trabajo con threads y por eso necesito algo de ayuda, unos ejemplos sencillos si no es muy complicado

1 saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda con threads

Publicado por Pablo  (39 intervenciones) el 09/06/2008 17:45:23
public class MiTimer extends Thread
{
private boolean detener;

public void run(){
while(detener == false){
//realizar alguna tarea
try{
sleep(cantidadMiliSegundos);
}catch(Exception e){}
}
}
public void setDetener(boolean d){
this.detener = d;
}
}

Aunque he leído al pasar en un libro que usar una bandera de este tipo no es la mejor manera de detener un hilo...

También puedes probar con la clase SwingWorker
http://java.sun.com/javase/6/docs/api/javax/swing/SwingWorker.html

Saludos
Pablo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con threads

Publicado por Pedro (2 intervenciones) el 09/06/2008 18:07:58
hola

lo que quier hacer es, que cuando el hilo llegue a su fin, realice una accion, no que la haga durante su ejecucion

lo que quiero hacer es un carrusel de imagenes, y necesito un thread para que cada X segundos, la imagen cambie
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con threads

Publicado por Rene Gonzalez (115 intervenciones) el 10/06/2008 23:56:32
No se si te ayude. Quizas no necesitas una hebra.
Por ejemplo tu carrusel de imagenes es un vector de objetos "CarruselImagenes" llamado vectorCarruselImagenes
Luego, suponiendo que se realiza el carrusel una sola vez:

for( CarruselImagenes ci : vectorCarruselImagenes){
muestraImagen( ci )
Thread.sleep(1000);
}

Hay que colocar un bloque try/catch para el sleep. Espero sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar