Aktuelle Uhrzeit per Anwendung

DEvent

Bekanntes Mitglied
Hallo,
ich habe 2 Anwendungen, die auf verschiedene Computer laufen. Nun muss eine Aktion relativ gleichzeitig ausgeführt werden. Um die gleiche Uhrzeit auf den beiden Computer zu benutzen, frage ich einen Zeitserver ab.

Nun muss ich aber diese Aktion in 5 Sekunden Intervallen ausführen. Wie löst man so ein Problem?

Ich habe das z. Z. so gelöst, dass man jedes mal den Zeitserver abfragt, die entsprechende Zeit abwartet und die Aktion in dem Intervall ausführt. Kann man es so lösen, dass ich nur einmal den Zeitserver abfragen muss und dann immer diese Uhrzeit verwende?

System.currentTimeMillis() gibt mir die Zeit der JVM ab. Die ist verschieden für verschiedene JVMs, auch auf dem selben Computer. Siehe auch hier Java: Time Synchronization Trick in Programming | twit88.com

Am einfachsten wäre es wenn ich die Zeit der JVM auf die Uhrzeit des Zeitservers setzen würde.
Am liebsten wäre mir eine vorgefertigte Bibliothek, die das Problem löst.

Ich denke ich kann auch nicht Thread.sleep(1000) verwenden um die Sekunden ab zumessen, weil Thread.sleep() auch bestimmt mit der Zeit der JVM läuft, so dass ich nach X Thread.sleep(1000) dann die Zeit nicht mehr mit der Uhrzeit des Zeitservers übereinstimmt.
 

XHelp

Top Contributor
Was heißt denn "relativ gleichzeitig": "1ms Unterschied ist Weltuntergang, aber +- 2 nanosekunden ist noch zu verkraften" oder "sollte so ungefähr im gleichen Jahr passieren"?
 

DEvent

Bekanntes Mitglied
Es sollte in der gleichen Sekunde passieren, mehr will ich eigentlich nicht.
Z.B. die Aktion auf beiden Computern soll 05:12:30 passieren und dann die nächste 05:12:35, die nächste 05:12:40, usw. Die Aktion selbst dauert <1 bis <5 Sekunden, also z.B. 3,4 Sekunden oder 0,7 Sekunden.
 

kay73

Bekanntes Mitglied
Kann man es so lösen, dass ich nur einmal den Zeitserver abfragen muss und dann immer diese Uhrzeit verwende?

Betriebssysteme machen das ja auch so. Wenn Du schon eine Timeserver-Library hast, lass doch einen Thread laufen, der 10 mal in der Sekunde aufwacht um einen oder mehrere Jobs anzustoßen. Eine Art "Referenzzeit-Job" dient dazu, eine Referenzzeit zu berechnen, indem er z. B. alle 5 Min. den Zeitserver abfragt und sich zur gelieferten Zeit den Wert von System.currentTimeMillis merkt. Daraus kann der Thread die Referenzzeit berechnen, um zu entscheiden ob der echte Job laufen muss.

Sehen sich die Rechner im Netz? Was spricht denn sonst gegen eine Master/Slave Lösung?
 
Zuletzt bearbeitet:

DEvent

Bekanntes Mitglied
Das mit der Referenzzeit ist eine gute Idee, darauf den Wert von System.currentTimeMillis zu merken bin ich nicht gekommen. Dann kann ich einfach System.currentTimeMillis+(1000*5) abwarten und schon habe ich meine 5 Sekunden zur selben Zeit.

Ich denke einfach einen Zeitserver abzufragen ist einfacher als Master/Slave Lösung. Dann müssen die 2 Computer auch nicht im selben Netzwerk sein und ich kann mir die Latenzberechnungen ersparen (weil ein Zeitserver die Latenz ja bereits mitberechnet). Auf dem Computer kann ja selbst auch ein Zeitserver dann laufen, der einen Master-Zeitserver abfragt.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Die aktuelle Uhrzeit zurückgeben lassen Allgemeine Java-Themen 4
M Suche aktuelle Apache Poi Bibliothek zum Einbinden in mein Programm Allgemeine Java-Themen 2
kodela aktuelle Position des Hauptfensters abfragen Allgemeine Java-Themen 12
A Swing Immer aktuelle Mausposition anzeigen lassen Allgemeine Java-Themen 7
F Aktuelle Variable Allgemeine Java-Themen 2
Bluedaishi Dateien löschen die älter als das aktuelle Datum sind Allgemeine Java-Themen 9
M Aktuelle Systemzeit und Datum abfragen Allgemeine Java-Themen 2
K kontinuierlich aktuelle Bestellsystem-Liste mit farbigem Status Allgemeine Java-Themen 2
MQue aktuelle Wetterdaten für Java- Programm Allgemeine Java-Themen 9
Q Serialisierung / Speicherung Geschwindingkeit & Aktuelle Position Allgemeine Java-Themen 7
G Reflection: aktuelle bzw umschliessende Methode? Allgemeine Java-Themen 7
Kidao Wie ordne ich die aktuelle Zeit in einer Zeitreihe eine? Allgemeine Java-Themen 6
B Aktuelle Zeit im Format YYYY-MM-DD HH-MM-SS in Logfile schre Allgemeine Java-Themen 8
R Aktuelle Kompatibilitätsliste für JRE auf verschiedenen OS´s Allgemeine Java-Themen 2
G Aktuelle JRE Version? Allgemeine Java-Themen 7
F Wie bekomme ich die aktuelle aufgerufene Methode herraus? Allgemeine Java-Themen 6
L Das aktuelle Directory, in dem sich das Programm ausdrucken Allgemeine Java-Themen 8
G Das aktuelle Fenster drucken Allgemeine Java-Themen 13
J File: Inhalt des Ordners aus dem die aktuelle Datei ausgefüh Allgemeine Java-Themen 6
O aktuelle Tage bis zum jahresende ermitteln Allgemeine Java-Themen 3
S aktuelle url aus browser holen Allgemeine Java-Themen 5
S Build-Zeitpunt (Datum und Uhrzeit) irgendwie während der Laufzeit zugänglich machen..? Allgemeine Java-Themen 4
T Datum OHNE Uhrzeit Zeitzonen-übergreifend Allgemeine Java-Themen 4
L Uhrzeit von 24-Uhr zu 12-Uhr ändern Allgemeine Java-Themen 2
J Uhrzeit umstellen Allgemeine Java-Themen 2
J Uhrzeit Allgemeine Java-Themen 7
J Countdown für Datum und Uhrzeit Allgemeine Java-Themen 4
A Datum und Uhrzeit in andere Zeitzone umrechnen Allgemeine Java-Themen 7
2 If-Abfrage um Uhrzeit einzuordnen Allgemeine Java-Themen 2
R Uhrzeit aus Timestamp Allgemeine Java-Themen 3
Bluedaishi String Array mit Datum und Uhrzeit String sortieren Allgemeine Java-Themen 6
S Uhrzeit Algorithmus sale Allgemeine Java-Themen 11
F Uhrzeit vervollständigen Allgemeine Java-Themen 14
J Autofill Funktion Uhrzeit Allgemeine Java-Themen 19
K Datum+Uhrzeit in Millisekunden (long) umwandeln Allgemeine Java-Themen 7
Z new Date() liefert falsche Uhrzeit Allgemeine Java-Themen 12
Quaxli Uhrzeit von extern Allgemeine Java-Themen 2
L Programm um eine bestimmte Uhrzeit ausführen Allgemeine Java-Themen 4
J Funktion zu einer Uhrzeit/datum ausführen Allgemeine Java-Themen 4
M Datum/Uhrzeit in ein Textfeld schreiben Allgemeine Java-Themen 28
D Ereigniss zur bestimmten Uhrzeit Allgemeine Java-Themen 3
B Jfree Chart mit Datum und Uhrzeit Allgemeine Java-Themen 6
N regexp für uhrzeit Allgemeine Java-Themen 4
A Regulärer Ausdruck für die Uhrzeit Allgemeine Java-Themen 3
G Listener auf aktuelles Datum / Uhrzeit Allgemeine Java-Themen 2
I Uhrzeit vergleichen Allgemeine Java-Themen 7
M Uhrzeit im PC stellen Allgemeine Java-Themen 2
G eigene uhrzeit in einer java applikation führen Allgemeine Java-Themen 19
R Uhrzeit aktualisiert sich nicht Allgemeine Java-Themen 7
J Uhrzeit vom System auslesen Allgemeine Java-Themen 2
G akuelle Uhrzeit ausgeben? Allgemeine Java-Themen 8
K Java Anwendung machen Anleitung Allgemeine Java-Themen 5
P JavaFX Anwendung beendet sich selbst nur als Jar Allgemeine Java-Themen 40
OSchriever Externe Anwendung beenden Allgemeine Java-Themen 41
I Eine Anwendung so gut wie möglich beschützen Allgemeine Java-Themen 9
J exe Anwendung CPU-/Speicherverbauch Allgemeine Java-Themen 5
alderwaran Hoher Sys-Load bei Multithreaded Anwendung Allgemeine Java-Themen 8
S Anwendung die alle Abhaengigkeiten einer Library listet..? Allgemeine Java-Themen 5
P Methoden Anwendung der allMatch()-Methode Allgemeine Java-Themen 5
D Anwendung öffnet hinter Taskleiste Allgemeine Java-Themen 7
I Anwendung auf Netzlaufwerk von mehreren Usern gleichzeitig nutzbar. Allgemeine Java-Themen 3
A Garbage Collector in NetBeans vs. exe Anwendung Allgemeine Java-Themen 33
D Java Anwendung mit dll File Allgemeine Java-Themen 5
B JAVA Prozesse in einer eigenen Anwendung laufen lassen Allgemeine Java-Themen 9
D RMI Einfache Chat-Anwendung mit RMI Allgemeine Java-Themen 0
J Jasper ireport - wieso beendet die Anwendung wenn ich die Preview schließe Allgemeine Java-Themen 1
Tort-E Datenmodell / Struktur der Anwendung Allgemeine Java-Themen 4
E Anwendung verhält sich unter Mac anders als Unter Windows. Allgemeine Java-Themen 4
S Anwendung zum ausrechnen der Differenz von zwei Tagen Allgemeine Java-Themen 9
B Web-Anwendung funktioniert mit Java 1.8, aber nicht mit Java 1.7 (auf Client) Allgemeine Java-Themen 5
L Stack overflow bei einer endrekursiven Funktion (Anwendung: Spezialform des Package Merge) Allgemeine Java-Themen 4
P Anwendung läuft nur mit JDK Allgemeine Java-Themen 2
D Java-Anwendung mit DB, GUI, etc. Allgemeine Java-Themen 3
D OOP Design Pattern für GUI - Datenbank Anwendung Allgemeine Java-Themen 1
F Unlimited Strength Policy. Frage Verbreitung der Anwendung Allgemeine Java-Themen 1
T Bot für Mql-Anwendung Allgemeine Java-Themen 10
F Java Anwendung Remote starten geht nicht Allgemeine Java-Themen 0
D neuen Prozess starten und anwendung beenden. Allgemeine Java-Themen 3
L Input/Output IO Anwendung Allgemeine Java-Themen 6
M Suche Framework/API für Monitoring-Anwendung Allgemeine Java-Themen 3
M Problem beim Starten der Anwendung Allgemeine Java-Themen 3
C Anwendung läuft nicht auf Mac OS X Allgemeine Java-Themen 2
M Java Anwendung ausführen Allgemeine Java-Themen 5
eskimo328 Swing Client Anwendung für MAC OS (Update Routine) Allgemeine Java-Themen 6
M Process wird gestoppt und nach beenden der Anwendung fortgeführt Allgemeine Java-Themen 4
J Interpreter-Fehler Anwendung startet nicht Allgemeine Java-Themen 5
W Framework für RichClient Anwendung? Allgemeine Java-Themen 4
D Mini Webserver für GUI Anwendung Allgemeine Java-Themen 5
Ollek MVC - Anwendung auf mein Projekt Allgemeine Java-Themen 18
U (Land-)Karten in Java Anwendung einbinden (GoogleMaps/OpenStreetMap) Allgemeine Java-Themen 7
S "Katalog"-Anwendung in Java eine gute Idee? Allgemeine Java-Themen 12
S Wie eine verteilte Anwendung in die Cloud? Allgemeine Java-Themen 4
E Anwendung nutzt plötzlich nicht mehr 100% CPU Allgemeine Java-Themen 2
R Geht das? JRE 1.4 global, 1.6.20 nur für eine Anwendung? Allgemeine Java-Themen 9
K Anwendung bringt JAVA Speicherfehler Allgemeine Java-Themen 11
C Java Anwendung nur einmalig starten Allgemeine Java-Themen 10
eskimo328 Offline/Online Web-Anwendung, Datensynchronisation etc. Allgemeine Java-Themen 9
E Anwendung starten Allgemeine Java-Themen 3
W Java Anwendung in HTML Allgemeine Java-Themen 2
C Idee für Anwendung/ Bücher Allgemeine Java-Themen 8

Ähnliche Java Themen

Neue Themen


Oben