Java - Despertar hilos cada cierto tiempo

 
Vista:

Despertar hilos cada cierto tiempo

Publicado por Luis (39 intervenciones) el 21/11/2007 17:44:34
Hola a todos,

estoy implementando un programa en java el cual tiene 2 hilos secundarios que he creado y el hilo Main del programa. En el método run de cada uno de esos hilos he colocado una determinada acción que deben llevar a cabo, y cuando la terminan se duermen mediante sleep.

El hilo Main solamente crea los hilos y se encarga de llevar una cuenta del tiempo, de modo que cada segundo (implementado mediante Timer), despierta los dos hilos que se han dormido. Así, los hilos se duermen, y el hilo principal cuando pasa cada segundo los despierta y pueden volver a hacer la tarea que le fue encomendada a cada uno de ellos, como he dicho antes.

Mi duda es que no sé como puedo hacer para que cada segundo se despierten tales hilos, ya que al crear la clase TimerTask, e introducir dentro del método run de la misma lo siguiente:

public void run()
{
hilo1.interrupt();
}

me dice que no lo reconoce hilo1. Me gustaría saber cómo puedo solucionar lo que pretendo hacer.

Espero que alguien me pueda dar una respuesta.... De todas maneras, gracias de antemano.

Saludos.
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:Despertar hilos cada cierto tiempo

Publicado por Tom (1831 intervenciones) el 21/11/2007 21:39:24
Lo primero es que dudo mucho que puedas despertar un hilo que has puesto a dormir con sleep().

Debes ponerlos a dormir durante, por ejemplo, 900 milisegundos de forma que, al despertar puedan chequear una variable y, o bien dormir otra siesta, o bien hacer algo.

Si el método run() no reconoce hilo1 es porque ese objeto no está en su ámbito, algo simple de solucionar.
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