Hallo,
ich verwende timer.schedule( timerTask, 0, 1000 );, um nach jeweils einer Sekunde auf der Konsole, die seit dem Start verstrichene Zeit in ms auszugeben.
Auf der Konsole werden zum Beispiel folgende Werte ausgegeben:
Was ich nun nicht verstehe ist, warum jeweils ca. 1015 ms vergehen, obwohl die run-Methode doch alle 1000ms aufgerufen wird!?
ich verwende timer.schedule( timerTask, 0, 1000 );, um nach jeweils einer Sekunde auf der Konsole, die seit dem Start verstrichene Zeit in ms auszugeben.
Java:
import java.util.Timer;
import java.util.TimerTask;
public class Test {
private static long startzeit;
public static void main(String[] args) {
Timer timer = new Timer();
startzeit = System.currentTimeMillis();
TimerTask timerTask = new TimerTask(){
public void run(){
System.out.println(System.currentTimeMillis() - startzeit);
}
};
timer.schedule( timerTask, 0, 1000 );
}
}
Auf der Konsole werden zum Beispiel folgende Werte ausgegeben:
Java:
0
1014
2029
3044
4059
5074
6089
7104
8119
9134
Was ich nun nicht verstehe ist, warum jeweils ca. 1015 ms vergehen, obwohl die run-Methode doch alle 1000ms aufgerufen wird!?