# zeit stoppen



## joergh (9. Okt 2007)

Hallo!

Ich möchte einen Programmablauf nach x Sekunden beenden.
Dabei geht es mir nicht um das Beenden, sondern um das Zeit nehmen.
Ich möchte die Startzeit haben, zu einem anderen zeitpunkt wieder die Zeit messen und gucken, wie viele (m)s seit der Startzeit vergangen sind.
Wie geht das?

danke & gruß!


----------



## The_S (9. Okt 2007)

Am Anfang der Aktion die Zeit in einem long speichern, am Ende der Aktion nochmal die Zeit in einem long speichern. Beide voneinander subtrahieren => schon haste die Differenz.


----------



## joergh (9. Okt 2007)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Am Anfang der Aktion die Zeit in einem long speichern, am Ende der Aktion nochmal die Zeit in einem long speichern. Beide voneinander subtrahieren => schon haste die Differenz.



Das ist schon soweit klar. Aber wie ermittle ich die Zeit?
So a la

```
long zeit = getTime();
```

Aber trotzdem danke!

Gruß


----------



## The_S (9. Okt 2007)

System.currentTimeMillis()

Ein Blick in das API, Google, oder die Forensuche hätte geholfen ...


----------



## Gast (13. Okt 2007)

Das wäre eine Variante, die funktioniert, wenn du allerdings generell eine gewisse zeit verstreichen lassen möchtest, bevor du etwas bestimmtes ausführst (beispielsweise: "diese Nachricht wird sich in 10 Sekunden selbst zerstören") bist du mit Threads gut beraten. Diese laufen scheinbar Paralell zu dem eigentlichen Programm. Hier ein Java Tutorial dazu: http://java.sun.com/docs/books/tutorial/uiswing/misc/timer.html

Allerdings musst du hierbei vorsichtig sein, denn dieser paralelle Thread kann innerhalb deines Programmes wirklich fast überall reinschießen und fast jegliche operation in der mitte abbrechen (beispielsweise das Speichern in eine Datei, oder die Bearbeitung eines click events). 

Oft ist das nicht schlimm, wenn du aber vorhast, das programm zu killen, dann solltest du darauf sehr stark aufpassen!


----------



## The_S (15. Okt 2007)

Wenn man alle x Sekunden etwas machen will, dann wohl eher Timer (obwohl es mit Threads natürlich auch geht).


----------



## byte (15. Okt 2007)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Wenn man alle x Sekunden etwas machen will, dann wohl eher Timer (obwohl es mit Threads natürlich auch geht).



Der Swing Timer läuft in einem Thread.


----------



## The_S (15. Okt 2007)

Ja, natürlicht tut er das. Geht ja gar nicht anders. Aber warum selbst einen Timer mit Threads erstellen, wenn es schon einen gibt!?


----------



## byte (15. Okt 2007)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Aber warum selbst einen Timer mit Threads erstellen, wenn es schon einen gibt!?


Weiss ich nicht, aber hat doch auch keiner geschrieben!?


----------



## The_S (15. Okt 2007)

Hm, jetzt versteh ich dich nicht ^^


----------



## byte (15. Okt 2007)

Ach, egal.


----------



## The_S (15. Okt 2007)

Hm, ok


----------

