ho questo:Come setRemoveOnCancelPolicy per Executors.newScheduledThreadPool (5)
ScheduledExecutorService scheduledThreadPool = Executors
.newScheduledThreadPool(5);
Poi ho avviare un'attività in questo modo:
scheduledThreadPool.scheduleAtFixedRate(runnable, 0, seconds, TimeUnit.SECONDS);
conservo il riferimento al futuro in questo modo:
ScheduledFuture<?> scheduledFuture = scheduledThreadPool.scheduleAtFixedRate(runnable, 0, seconds, TimeUnit.SECONDS);
voglio essere in grado di annullare e rimuovere t egli futuro
scheduledFuture.cancel(true);
Tuttavia questo SO rispondere note che l'annullamento non rimuoverla e l'aggiunta di nuovi compiti si concluderà in molte attività che non possono essere GCed.
https://stackoverflow.com/a/14423578/2576903
accennano qualcosa su setRemoveOnCancelPolicy
, tuttavia questo scheduledThreadPool
non hai tale metodo. Cosa faccio?
Cosa intendi per cast il riferimento del servizio esecutore? Inoltre come faccio a creare ScheduledThreadPoolExecutor da solo, cosa intendi con questo? –
@ J.K. controllare l'aggiornamento – AdamSkywalker
Accidenti. Sto sviluppando un'applicazione Android e questa chiamata 'setRemoveOnCancelPolicy' richiede l'API 21 e il mio progetto supporta API fino a 14. C'è un altro modo per rimuovere le attività? –