Ich vermute, dass Aufrufe von separaten Threads (> 15) sich negativ auf die Leistung auswirken. Gibt es einen besseren Weg zur Systemzeit in gleichzeitigen Anwendungen?Leistungsengpass bei gleichzeitigen Aufrufen von System.currentTimeInMillis()
Antwort
Nur ein kleiner Tipp:
Ich las von Google-Ingenieuren und anderen Programmierern, dass es besser ist System.nanoTime zu verwenden. Zum Beispiel joshua bloch
für Intervallsteuerung, verwenden Sie immer System.nanoTime bevorzugt zu System.currentTimeMillis
Beantwortet die Frage nicht. Auch nach Ihrem Zitat wird System.nanoTime für das Intervalltiming bevorzugt. Es wird nicht erwähnt, wofür das OP die Systemzeit verwendet. Das Intervall-Timing ist möglicherweise hier nicht anwendbar. –
Vielleicht beantwortet es die Frage nicht direkt, aber ich denke, dass schon andere die Frage beantwortet haben, also habe ich nur einen Tipp gegeben, den ich gelesen habe. – Alfred
http://www.techper.net/2008/08/10/systemcurrenttimemillis-systemnanotime-and-their-resolution/ timeinMillis hat Probleme mit MS Windows-Granularität –
Wenn es wirklich ein Problem ist, können Sie einen Hintergrund Thread speichern die aktuelle Zeit in einem volatile
. Oder nenn es einfach weniger oft.
+1 - es ist definitiv etwas seltsam für eine Anwendung, die häufige Aufrufe von 'System.currentTimeMillis' vornehmen muss. –
- 1. TimeoutException bei gleichzeitigen Aufrufen von WCF-Diensten von Silverlight-Anwendung
- 2. Java-Socket-Leistungsengpass: wo?
- 3. Shiny App instabil bei vielen gleichzeitigen Anfragen
- 4. Leistungsengpass in einer Methode finden
- 5. Audiofehler bei der gleichzeitigen Wiedergabe von zwei AVPlayer-Audiodateien
- 6. Logging von zwei gleichzeitigen Prozessen
- 7. JPA/EclipseLink Eager Abrufdaten nicht gefüllt (bei mehreren gleichzeitigen Abfragen)
- 8. Warum Fehler bei der Promotion und Fehler im gleichzeitigen Modus?
- 9. Server Push für Millionen von gleichzeitigen Verbindungen
- 10. HttpWebRequests fehlgeschlagen bei nachfolgenden Aufrufen
- 11. C# Timeouts bei asynchronen Aufrufen
- 12. Verwalten von gleichzeitigen Projekten in verschiedenen Programmiersprachen
- 13. Handhabung von gleichzeitigen Verbindungen in SiganlR
- 14. scrapyd - Fehler beim gleichzeitigen Ausführen von Spinnen
- 15. Wo ist der Leistungsengpass in diesem Spark/Scala-Code?
- 16. Verwendung von Akka Framework in einer nicht-gleichzeitigen Umgebung
- 17. Gibt es einen Nachteil bei der gleichzeitigen Verwendung von MacPorts und RubyGems?
- 18. Math.pow liefert bei wiederholten Aufrufen unterschiedliche Ergebnisse
- 19. Flussausführung/logischer Kontext bei asynchronen Aufrufen
- 20. Warum ändert sich das Aufrufen von list() bei iterable?
- 21. Aufrufen einer Klassenmethode bei der Erstellung von Python-Klassen
- 22. Abfangen von MySQL-Warnungen bei in Klassen eingekapselten Aufrufen - Python
- 23. Max Anzahl der gleichzeitigen HttpWebRequests
- 24. Erkennung der gleichzeitigen Nutzung von Software ohne online zu sein
- 25. Python XMLRPC mit gleichzeitigen Anfragen
- 26. Mehrere gleichzeitigen Anfragen an MYSQL Tabelle
- 27. UI-Update mit mehreren gleichzeitigen Operationen
- 28. wget Download mit mehreren gleichzeitigen Verbindungen
- 29. Testen von gleichzeitigen Anfragen an einen REST-basierten Webserver
- 30. Meteor serverseitige Speicherauslastung für Tausende von gleichzeitigen Benutzern
würde ich nicht so denken, die meisten OSes bieten eine gute Unterstützung für diese Art von Funktion und es ist wahrscheinlich als native Methode implementiert. Warum beschuldigen Sie diese Methode für Ihre Leistungsprobleme? –
Welche Profilerstellung hast du gemacht, die zeigt, dass diese Funktion das Problem ist? –