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.
Crear ScheduledThreadPoolExecutor usando ejecutores
también puedes mirar este
http://tutorials.jenkov.com/java-util-concurrent/scheduledexecutorservice.html
si desea usarlo periódicamente, debe usar este método
scheduleAtFixedRate (Runnable, long initialDelay, long period, TimeUnit timeunit)
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