Mehrere Uhren/ Timer mit Hilfe von Threads

blubberblase

Mitglied
Servus,
wollte mich an diesem Wochenende mal wieder etwas mit Java beschäftigen um das Thema Threads etwas zu verinnerlichen. Daher wollte ich eine Anwendung programmieren, die über mehrere Uhren/ Timer verfügt.
Ich dachte mir erstmal, dass ich eine Klasse Uhr nehme. Diese Klasse verfügt über eine Instanzmethode public long getTimeElapsed() (sie gibt die verstrichene Zeit in ms zurück).
Die verstrichene Zeit soll mit Hilfe eines PrintWriters auf den Monitor ausgegeben werden.

Meine Überlegungen waren nun eine Methode run() zu schreiben, die 30 Sekunden läuft und sich dann beendet. Also werden 30 Sekunden lang die verschiedenen Zeiten der Uhren ausgegeben. In der Main Methode werden die Uhr Objekte mit den entsprechenden Zeitintervallen erzeugt (beispielsweise eine mit 400ms, eine mit 600ms und eine mit 5sec), die alle in Threads laufen sollen.

So, nun meine Frage: Wie kann ich am besten diese Uhren erzeugen? Soll ich das über java.util.Timer machen oder geht das auch irgendwie über thread.sleep() - also dass ich einen Thread für den jeweiligen Zeitintervall schlafen lege?

Danke für eure Tipps!
Grüße
Blubberblase ;)
 

taouri

Mitglied
Hallo,

also ich denke am einfachsten machst du das, indem du dir beim erzeugen einer Uhr über getCurrentTimeMillis() die aktuelle Zeit holst. In der Methode getTimeElapsed() holst du dir dann die aktuelle Zeit und die Differenz ist dann die verstrichene Zeit. Wozu du Timer oder Thread.sleep brauchst ist mir noch nicht ganz klar, vielleicht habe ich deine Frage auch falsch verstanden. Wenn dem so ist bitte meckern. :)

Gruß

taouri