scheduled job example java android timer scheduledexecutorservice

java - job - ScheduledExecutorService o ScheduledThreadPoolExecutor



java task example (3)

Esto es lo mismo, ScheduledThreadPoolExecutor es una implementación de ScheduledExecutorService

Estoy construyendo una aplicación de Android que periódicamente tiene que hacer algo en un servicio. Y descubrí que usar ScheduledThreadPoolExecutor y ScheduledExecutorService es preferible a Timer .

¿Alguien puede explicar la diferencia entre ScheduledExecutorService y ScheduledThreadPoolExecutor y cuál es más adecuado para Android?

Actualizar

Acabo de encontrar este artículo y esta publicación explica la diferencia entre varias formas de implementar tareas periódicas periódicas. En mi caso, ScheduledThreadPoolExecutor y AlarmManager es más adecuado.



ScheduledExecutorService es una interfaz (un contrato) y ScheduledThreadPoolExecutor implementa esa interfaz.

Como no puede crear una instancia directa de una interfaz, debe usar la implementación a través de instanciar ScheduledThreadPoolExecutor directamente oa través de un método de fábrica como java.util.concurrent.Executors que devuelve una instancia de ScheduledThreadPoolExecutor .

p.ej

ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS); //returns a ScheduledFuture

Eche un vistazo al uso del servicio del ejecutor programado para Andriod