Wird task
garantiert von einem einzigen Thread zu einem bestimmten Zeitpunkt ausgeführt?Wird die Java-Timer-Task garantiert nicht gleichzeitig ausgeführt?
Antwort
Vom Javadoc
zu jedem Timer-Objekt entspricht, ist ein einzelner Hintergrund-Thread, der verwendet wird all die Timers Aufgabe auszuführen, sequenziell. Timer-Aufgaben sollten schnell abgeschlossen sein. Wenn eine Zeitgeberaufgabe übermäßig lange dauert, "verschlingt" sie den Aufgabenausführungsthread des Zeitgebers. Dies kann wiederum die Ausführung nachfolgender Tasks verzögern, die sich schnell zusammenziehen und ausführen können, wenn (und falls) die fehlerhafte Task schließlich abgeschlossen wird.
Also, ja, Sie erhalten einen neuen Thread (getrennt vom Thread des Aufrufers). Jede Aufgabe in diesem Timer teilt denselben Thread.
Es ist ein einzelner Thread pro Timer, so dass die Antwort auf Ihre Frage ist ja
der Tat. Sie laufen alle auf demselben Hintergrundthread, der dem Timer-Objekt der Reihe nach entspricht. ABER zwei verschiedene Timer-Instanzen laufen (glaube ich) auf verschiedenen Threads, deshalb müssen Sie den Verweis auf ein Timer-Objekt speichern, um weitere Tasks nacheinander zu planen.
- 1. Wird Akka onReceive-Methode gleichzeitig ausgeführt?
- 2. Wie wird nur ein Job gleichzeitig ausgeführt?
- 3. POST wird nicht für mehrere Post gleichzeitig ausgeführt Android
- 4. Wird onPause garantiert aufgerufen, wenn eine Aktivität nicht mehr ausgeführt wird?
- 5. Innerhalb einer while-Schleife wird garantiert, dass die letzte durch Komma getrennte Anweisung zuletzt ausgeführt wird?
- 6. Beide Aktionen können nicht gleichzeitig ausgeführt werden
- 7. Was garantiert, dass die überladene nicht-konstante Methode aufgerufen wird?
- 8. Python ThreadPoolExecutor - wird der Callback garantiert im selben Thread wie die übergebene Funktion ausgeführt?
- 9. Sicherstellen, dass nur ein setTimeout gleichzeitig ausgeführt wird (ist aktiv)?
- 10. Jenkins Multi-Konfigurationsprojekt wird gleichzeitig auf verschiedenen Knoten ausgeführt
- 11. Wie wird das Topic-Modell auf 20000 Dokumente gleichzeitig ausgeführt?
- 12. Werden mehrere Variablenzuordnungen gleichzeitig ausgeführt?
- 13. Verhindern, dass Methode gleichzeitig aus verschiedenen Threads ausgeführt wird
- 14. Warum wird die Warnung nicht ausgeführt?
- 15. BroadcastReceiver, wenn die Anwendung nicht ausgeführt wird
- 16. Die letzte else-Anweisung ausgeführt wird nicht
- 17. Berechnungsausdruck wird nicht ausgeführt
- 18. Alarmfunktion wird nicht ausgeführt
- 19. geocoder.geocode() wird nicht ausgeführt
- 20. bind_param() wird nicht ausgeführt
- 21. Ausnahme wird nicht ausgeführt
- 22. Wird std :: async garantiert für Funktionen aufgerufen, die void zurückgeben?
- 23. Ist die statische Initialisierung unmodifizierbarCollection.get garantiert unveränderlich?
- 24. jQuery - Mehrere asynchrone Funktionen werden nicht gleichzeitig ausgeführt
- 25. Transaktions-Commit wird erfolgreich ausgeführt, aber nicht ausgeführt
- 26. didReceiveRemoteNotification wird nicht ausgeführt, wenn App ausgeführt wird (FOREGROUND)
- 27. Probleme mit mehreren setIntervals, die gleichzeitig ausgeführt werden
- 28. Warum sind Shutdown-Skripts nicht garantiert?
- 29. Fragment Eingabe- und Exit-Übergänge werden nicht gleichzeitig ausgeführt.
- 30. Ist Shutdownhook garantiert werden ausgeführt, wenn JVM stürzt
-1 für die Unfähigkeit, die Dokumentation zu lesen. – Bombe
Richtig du bist. – ripper234
Autsch, ein Down-Votum für RTFM? Sie müssten dann fast alle Fragen zu Stack Overflow abstimmen. –