Buenas tardes.
Hay una pregunta para una entrevista como esta.
¿Cuántas formas de crear hilos conoces? El número 2 aparece en las respuestas: o crear
Thread
, pasándolo
Runnable
, o crear un objeto de una clase descendiente
Thread
en la que
run()
. Pero me preguntaba: ¿son dos? Si usa
concurrent
, por ejemplo,
Executors.newFixedThreadPool(5)
cuando se crean los objetos de subproceso, inmediatamente cuando se ejecuta este método, o más tarde, cuando aparecen las tareas para su ejecución (después de todo, es posible que no aparezcan). Todos estos métodos de fábrica devuelven algún tipo de configuración
ThreadPoolExecutor
, que tiene uno de los parámetros de configuración.
corePoolSize
En este campo está escrito:
corePoolSize
– el número de subprocesos a mantener en el grupo,
incluso si están inactivos , a menos
allowCoreThreadTimeOut
que esté configurado. Por otro lado, Si las tareas no llegaron, entonces creamos 5 trabajadores inactivos, ¿tal vez comiencen a crearse cuando las tareas comiencen a llegar?
En general, ¿todavía se pueden tener en cuenta 2 o 3 opciones como respuesta a la pregunta?
GO TO FULL VERSION