Obtener el tiempo actual tras sleep

Angel Galan
26 de Abril del 2011
Hola buenas

Quiero hacer algo muy simple, para insertarlo en otro codigo un poco mas complejo.

Se trata de mandar por ejemplo a escribir por pantalla dormir el hilo unos milisegundos y volver a imprimir lo mismo con la hora actual.

El problema es que cada vez que se imprime se imprime con la misma hora anterior. Creo que al hacer sleep y despues obtener el tiempo es como comos si el reloj tambien se parase.


while(true){


hora =calendario.get(Calendar.HOUR_OF_DAY);
minutos = calendario.get(Calendar.MINUTE);
segundos = calendario.get(Calendar.SECOND);

System.out.println("mensaje " + hora + ":"+ minutos +":"+segundos);
Thread.currentThread().sleep(10000);
}

Acá les dejo el codigo, creo que es muy simple.
Pero cuando pasan los 10 segundos me vuelve a pintar el mismo tiempo.
Hay alguna forma de dormir el hilo, o hacer algo periodicamente y poder mostrar el tiempo tras ese perido.?

Un saludo y gracias

Santiago Pastor
06 de Mayo del 2011
Hola:

El problema creo que puede estar en que en cada pasada del bucle debes hacer:
Calendar calendario = Calendar.getInstance();
para actualizar la hora.

Te copio tu ejemplo un poco modificado:

import java.util.Calendar;

public class Temporizador{

public static void main(String args[]){

int hora;
int minutos;
int segundos;

for(int i=1; i

Angel Galan
25 de Junio del 2011
Muchas gracias, q simple respuesta, no habia caido

un saludo