La cantidad de subprocesos centrales en el grupo de subprocesos, reservados cuando están inactivos

No se borrará el número predeterminado de subprocesos principales. keepAliveTime no tiene ningún efecto sobre el número de subprocesos principales

  • keepAliveTime: indica cuánto tiempo se mantiene el hilo como máximo cuando no se terminará la ejecución de la tarea.
  • De forma predeterminada, keepAliveTime funcionará solo cuando el número de subprocesos en el grupo de subprocesos sea mayor que corePoolSize, hasta que el número de subprocesos en el grupo de subprocesos no sea mayor que corePoolSize, es decir, cuando el número de subprocesos en el grupo de subprocesos sea mayor que corePoolSize, si un subproceso está inactivo Cuando el tiempo llegue a keepAliveTime, se terminará hasta que el número de subprocesos en el grupo de subprocesos no exceda corePoolSize.
  • Pero si se llama al método allowCoreThreadTimeOut (boolean), cuando el número de subprocesos en el grupo de subprocesos no es mayor que corePoolSize, el parámetro keepAliveTime también funcionará hasta que el número de subprocesos en el grupo de subprocesos sea 0;
  • allowCoreThreadTimeOut es falso de forma predeterminada, es decir, el hilo principal no se cerrará con el tiempo, a menos que el grupo de hilos se cierre manualmente, el hilo se destruirá
  • Si allowCoreThreadTimeOut se establece en true, el tiempo de inactividad del subproceso llega a keepAliveTime y se cerrarán todos los subprocesos con el número de subprocesos principales.

Número de subprocesos inactivos en el grupo de subprocesos ExecutorService

Supongo que te gusta

Origin blog.csdn.net/yangshengwei230612/article/details/114638035
Recomendado
Clasificación