¿Cómo determina el grupo de subprocesos de Java cuándo finaliza una tarea antes de ejecutar el subproceso principal?
shutdown
primero y luego llame a
isTerminate
Ejemplo:
/*
* Use el grupo de subprocesos para abrir múltiples subprocesos, y el subproceso principal espera a que todos los subprocesos terminen de ejecutarse
*/
public static void moreThread() {
prueba {
int threadNum = 0
for (int i = 0; i lt; 10; i) {
> threadNum;
final int currentThreadNum = threadNum;
exe.execute(new Runnable() {
@Override
public void run() {
intentar {
System.out.println("Subthread [" currentThreadNum "] open"); 10);
} catch (InterruptedException e) {
e.printStackTrace(
}finalmente{
System.out; .println("Fin del hilo secundario [ " currentThreadNum "]");
}
}
});
} println ("Se han abierto todos los subprocesos");
exe.shutdown()
System.out.println("shutdown(); Inicie el apagado de la secuencia y ejecute la tarea enviada anteriormente, pero no acepta nuevas tareas
while(true){
if(exe.isTerminate()){
System.out.println. ("¡Todos los subprocesos están terminados!");
break
}
Thread.sleep(1000);
}
} catch (InterruptedException e) {
e.printStackTrace()
} finalmente{
System.out.println(" Fin del hilo principal");
}
}