Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cuál es el uso de allowCoreThreadTimeout () en ThreadPoolExecutor?

Tengo que usar Java ThreadPoolExecutor en uno de mi componente en Android. Buscaba el uso de allowCoreThreadTimeout ().

He leído los documentos relacionados con Java y Android. Pero no obtuve ningún escenario de implementación útil del método. ¿Puede alguien por favor me ayude?

4 Solutions collect form web for “¿Cuál es el uso de allowCoreThreadTimeout () en ThreadPoolExecutor?”

Este método le permite especificar si desea terminar el hilo central si no hay ninguna tarea entrante dentro del tiempo de mantenimiento de hilo. Esto se relaciona con otra configuración como, setCorePoolSize (), setKeepAliveTime (..)

Cuando está creando un grupo de subprocesos y existen subprocesos en la agrupación incluso no hay ninguna tarea en ejecución. Es costoso mantener estos hilos vivos. Si desea obtener paseo de estos cuando no tiene ninguna tarea para ejecutar este método es útil en ese caso. Tienes que pasar el valor verdadero, entonces serán muertos después de mantener el tiempo vivo.

En resumen:

allowCoreThreadTimeOut(true) // Could save memory compromising performance allowCoreThreadTimeOut(false) // Comsume memory but high performance 
 public void allowCoreThreadTimeOut(boolean value) 

Esto se explica en gran medida en javadoc

Establece la política que rige si los subprocesos centrales pueden agotarse y finalizar si no hay tareas que llegan dentro del tiempo de mantenimiento, siendo reemplazadas si es necesario cuando llegan nuevas tareas.

Cuando es falso, los subprocesos de núcleo nunca se terminan debido a la falta de tareas entrantes. Cuando es true, la misma política keep-alive que se aplica a los subprocesos no esenciales también se aplica a los subprocesos centrales. Para evitar el reemplazo continuo de la rosca, el tiempo keep-alive debe ser mayor que cero cuando se establece true. Este método debe ser llamado en general antes de que el grupo se utilice activamente.

Bien, se utilizará allowCoreThreadTimeout (true) cuando desee finalizar los subprocesos de la agrupación central después de un tiempo de tiempo de espera especificado.

Por favor reffer al acoplamiento siguiente de los docs:

Documentos de la API de Android – ThreadPoolExecutor

Cuando usted está realmente bajo condiciones de memoria baja, debe pasar fiel a este método.

Puede comprobar la implementación de análisis para android sdk, es realmente agradable.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.