Ich plante eine wiederkehrende Aufgabe. Jetzt möchte ich, dass der Haupt-Thread auf ScheduledExecutorService
wartet, um seine erste Ausführung abzuschließen. Wie kann ich das erreichen?Wie kann ich warten, bis die erste Iteration einer geplanten Aufgabe abgeschlossen ist?
0
A
Antwort
2
Verwenden Sie eine CountDownLatch
, um zwischen Threads zu koordinieren.
final CountDownLatch latch = new CountDownLatch(1);
scheduledExecutorService.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
loadInfo();
latch.countDown();
}
}, 1, 5, TimeUnit.MINUTES);
latch.await();
Ein besserer Ansatz könnte für sein die geplante Aufgabe einen Rückruf auszuführen, nachdem die Informationen geladen werden Beobachter zu aktualisieren, die auf diesen Informationen abhängen.
Verwandte Themen
- 1. Bash while-Schleife warten, bis Aufgabe abgeschlossen
- 2. Winkelmesser Warten, bis die Animation abgeschlossen ist
- 3. Wie warten, bis Word-Objekt abgeschlossen ist?
- 4. Starten einer remoten geplanten Aufgabe
- 5. warten, bis ein Jenkins Build abgeschlossen ist
- 6. Wie warten, bis die asynchrone Methode abgeschlossen ist?
- 7. AngularJS: Wie warten, bis die Übersetzung abgeschlossen ist
- 8. Fragment - Warten Sie, bis die Transaktionsanimation abgeschlossen ist
- 9. Wie warten, bis mehrere Threads abgeschlossen sind?
- 10. Wie ändere ich die Speicherpriorität einer geplanten Aufgabe?
- 11. VBScript - Wie Programm warten bis Prozess abgeschlossen ist?
- 12. Lassen Sie msiexec warten, bis die Installation abgeschlossen ist
- 13. In WatiN, wie warten, bis Postback abgeschlossen ist
- 14. .Continue startet, bevor die Aufgabe abgeschlossen ist
- 15. Warten bis mehrere Befehlszeilenprozesse abgeschlossen sind?
- 16. Warten, bis mehrere AsyncTask abgeschlossen sind
- 17. Wie warten, bis ein Kind-Komponente Aufgabe abgeschlossen sein, bevor Sie fortfahren
- 18. Warten, bis gepoolte Threads abgeschlossen sind
- 19. Wie kann ich eine Funktion warten lassen, bis eine Animation abgeschlossen ist?
- 20. Warten, bis Task abgeschlossen ist, ohne UI-Thread zu blockieren
- 21. Warten, bis alle Subprozesse abgeschlossen sind?
- 22. Angular: Warten Sie, bis location.href mit $ q.deffer abgeschlossen ist
- 23. Warten, bis System.Diagnostics.Process.Start fertig ist
- 24. So warten Sie, bis eine geschachtelte Alamofire-Anfrage abgeschlossen ist
- 25. Entwicklung einer geplanten Aufgabe für Windows
- 26. Einrichten einer geplanten Aufgabe in .Net
- 27. Warten, bis die asynchrone Aufgabe ihre Arbeit beendet
- 28. Schluckbenachrichtigung passiert, bevor die Aufgabe abgeschlossen ist
- 29. AngularJS + wie man wartet, bis die Aufgabe beendet ist, bevor die nächste Aufgabe ausgeführt wird
- 30. Die Befehlszeile wartet nicht, bis die exe-Ausführung abgeschlossen ist.
Überprüfen Sie meine Antwort in: http://stackoverflow.com/questions/35075886/how-to-wait-for-a-thread-that-spawns-its-own-thread –
Haben Sie diese 'geplanteExecutorService gesehen. awayTermination (Timeout, Einheit) '? – mob41