Grupo de subprocesos (preguntas de la entrevista Java)

1. ¿Por qué ocurre la excepción OOM en CachedThreadPool?

Se crearon demasiados hilos, la memoria se desbordó

2. Si se va a agregar una tarea al grupo de subprocesos, ¿cuál es el flujo de procesamiento?

En primer lugar determinar si la tarea de bloquear la cola está llena, llena para ver si es para lograr un tipo de estrategia de negación, si no está lleno, entonces añadido al bloqueo de cola de tareas, conjunto de hilos
juntos para juzgar si el número de tareas es mayor que el número de la base de hilos, creado mayor que Para las colas, el número máximo de subprocesos no excede el máximo. Si el número de subprocesos excede el tiempo de inactividad, el
número de subprocesos se reduce al número de subprocesos principales.

3. Hable sobre la estrategia de rechazo del grupo de subprocesos

El primer tipo: descartar directamente la nueva tarea
El segundo tipo: descartar directamente la nueva tarea y lanzar una excepción El
tercer tipo: descartar la tarea más antigua y agregar una nueva tarea El
cuarto tipo: usar directamente el hilo actual para ejecutar la tarea

4. ¿Cuáles son los atributos centrales del grupo de subprocesos?

Número de hilos centrales, número máximo de hilos, tiempo de inactividad del hilo, cola de bloqueo, estrategia de rechazo, etc.

5. ¿Cuáles son los cuatro tipos de grupos de subprocesos proporcionados por JDK?

El primer tipo: un grupo de subprocesos de subprocesos único (newSingleThreadExecutor), modo singleton, el subproceso es anormal y vuelve a crear el subproceso.
El segundo tipo: un grupo de subprocesos de número de subproceso fijo (newFixedThreadPool). El
tercer tipo: un grupo de subprocesos temporizado (newScheduledThreadPool), Puede realizar tareas retrasadas, puede realizar tareas con valores de retorno

6. ¿Qué hay de malo en estos grupos de subprocesos proporcionados por JDK?

Un número fijo de grupos de subprocesos y un solo grupo de subprocesos pueden acumular una gran cantidad de tareas, lo que da como resultado el
grupo de subprocesos de caché OOM y el grupo de subprocesos temporizado puede crear una gran cantidad de subprocesos, lo que resulta en OOM
cuarto: grupo de subprocesos en caché (newCachedThreadPool)

7. ¿Cómo diseñar el tamaño del grupo de hilos?

Esto depende de si el tipo de tarea es intensivo en CPU o IO. Si es intensivo en CPU, se establece en el número de núcleos de CPU + 1 subproceso. Si
es intensivo en IO, porque la operación IO no ocupa la CPU, se puede establecer en Duplique el número de CPU + 1 hilo.

8. ¿Sabes cómo implementar la parte inferior del grupo de subprocesos? ¿Qué estructura de datos se usa?

9. Si escribieras un grupo de subprocesos, ¿qué escribirías y qué módulos hay?

10. Cómo crear un nuevo hilo en su grupo de hilos

11. ¿Cómo escribir un grupo de subprocesos simple?

(Primero, cree una clase de grupo de subprocesos, que tenga algunos atributos centrales, como el
número máximo de subprocesos centrales , la cola de bloqueo de tareas, la colección de subprocesos y el tiempo de inactividad del subproceso). El
primer paso: calentar, crear un subproceso central a través del constructor e iniciar, y Existe la creación de una cola de bloqueo LinkedBolockingQueue. El
segundo paso: agregar una tarea, crear un método de ejecución, usar la oferta para agregar la tarea a la cola de bloqueo. La
tercera parte: consumir la tarea, crear una clase interna de subproceso de trabajo y llamar continuamente al método de sondeo a través del ciclo while
para obtener Tarea, llame al método de ejecución de ejecutable para ejecutar la tarea.

12. ¿Por qué usar el grupo de subprocesos?

Si los hilos se crean y destruyen con frecuencia, el consumo de CPU es muy grande, debe considerar el uso de la reutilización de hilos

13. ¿Cuáles son las ventajas de usar el grupo de subprocesos?

Reutilice hilos para reducir el consumo de CPU de crear y destruir hilos. También hay una gestión unificada de hilos

51 artículos originales publicados · Me gusta2 · Visitas 1849

Supongo que te gusta

Origin blog.csdn.net/qq_42972645/article/details/105658199
Recomendado
Clasificación