el Javadoc dice que el servicio devuelto por Executors.newCachedThreadPool
reutiliza hilos. ¿Cómo es esto posible? Un hilo solo se puede iniciar una vez llamando al start
. Entonces, ¿cómo lo implementan? Los hilos de este servicio se están ejecutando en un bucle infinito y sus Runnable
-s se reemplazan bajo demanda?¿Cómo newCachedThreadPool reutiliza los hilos?
5
A
Respuesta
4
Un Ejecutable Ejecutable puede llamar a otro.
Cada hebra se ejecuta sólo una Ejecutable principal, pero que Ejecutable toma Runnables de un BlockingQueue compartida y llama a estos hasta que esté apagado.
simplificado que hace.
final BlockingQueue<Runnable> queue = ...
Runnable runs = new Runnable() { public void run() {
while(running)
queue.take().run();
}};
Puede leer el código para ver cómo realmente lo hace.
Cuestiones relacionadas
- 1. ¿De qué manera Phusion Passenger reutiliza hilos y procesos?
- 2. ¿Cómo aborta AppDomain.Unload() los hilos?
- 3. PDO Parameterized Query - ¿Reutiliza named placeholders?
- 4. Cómo anular los hilos creados con ThreadPool.QueueUserWorkItem
- 5. ¿cómo se comunican los hilos entre sí?
- 6. ¿Cómo comienzo los hilos en C simple?
- 7. ¿Cómo puedo acelerar los hilos de Python?
- 8. Multicore + Hyperthreading: ¿cómo se distribuyen los hilos?
- 9. ¿Cómo están programados los hilos java?
- 10. ¿Cómo correlaciona Sun JVM los hilos de Java con los hilos de Windows?
- 11. ¿Cuándo debo usar los hilos?
- 12. ¿Puede alguien explicarme los hilos?
- 13. ¿Cómo funcionan los actores en comparación con los hilos?
- 14. ¿Cómo termina JVM los hilos daemon? o Cómo escribir hilos daemon que terminan correctamente
- 15. ¿NodeJS reutiliza módulos ya cargados y comparte sus valores?
- 16. ¿Por qué un ExecutorService creado a través de newCachedThreadPool es malo?
- 17. ¿Por qué los hilos IIS son tan preciados en comparación con los hilos regulares de CLR?
- 18. Nombres de hilos: ¿cuándo los necesita?
- 19. Cómo utilizar múltiples hilos
- 20. Cómo generar n hilos?
- 21. Determinar cuándo terminaron todos los hilos C#
- 22. Volcar stacktraces de todos los hilos activos
- 23. Hilos Java vs Hilos OS
- 24. ¿Cómo aborto múltiples hilos?
- 25. Usar un objeto referenciado en los hilos
- 26. Cómo liberar inmediatamente los hilos que esperan en un BlockingQueue
- 27. ¿Cómo enumerar los hilos abiertos por cada aplicación en Linux?
- 28. ¿Cómo se clasifican los hilos CUDA en urdimbres?
- 29. ¿Cómo detener los hilos del kernel de Linux en rmmod?
- 30. ¿Cómo cambiar el nombre de los hilos en un ExecutorService?
que podría haber adivinado ... la firma también sugiere esta funcionalidad. – zeller