Ich habe einen Pool von Jobs, die ich regelmäßig mit ScheduledExecutorService-Hilfe ausführen. Jetzt möchte ich die periodische Ausführung einiger Aufgaben stoppen, während andere Aufgaben unberührt bleiben sollen. Was wäre der gute Ansatz für dieses Messgerät?ScheduledExecutorService Interrupt periodische Ausführung von konkreten Aufgaben
4
A
Antwort
5
Die Methoden in ScheduledExecutorService geben eine ScheduledFuture zurück. Sie können einen Verweis auf diese geplante Zukunft beibehalten und die spezifischen Stornierungen, die Sie stornieren möchten, stornieren.
Vielleicht speichern Sie sie in einer Karte mit einer Kennung von einigen Arten, damit Sie wissen, welche zu stornieren.
ScheduledExecutorService bla;
//Put a bunch of scheduled stuff in a map
for(int i = 0; i < 10; i++){
map.put(i, bla.schedule(() -> {}, 10, TimeUnit.DAYS));
}
//Cancel number 5
map.get(5).cancel(true);
danke! das hilft wirklich! –
Cool, könntest du es als akzeptierten awnser .. für meine Internet-Punkte :) markieren. –