¿Cuáles son los ciclos de vida de los subprocesos de Java?
Nuevo hilo
Cuando se crea una instancia (objeto) de la clase de hilo, el hilo entra en un nuevo estado (no iniciado).
Por ejemplo: Thread t 1 = new Thread();
El hilo ejecutable
se ha iniciado y está esperando el intervalo de tiempo asignado a la CPU. , lo que significa que el subproceso está esperando en la cola de listos para obtener recursos de CPU. Por ejemplo: t 1. start();
Ejecutando (ejecutando)
El subproceso obtiene recursos de la CPU y ejecuta la tarea (método run()). En este momento, a menos que el subproceso ceda automáticamente recursos de la CPU o ingrese un subproceso de mayor prioridad, el subproceso se ejecutará hasta el final.
Muerte (muerte)
Cuando un hilo completa la ejecución o es asesinado por otro hilo, el hilo entra en el estado muerto. Es imposible que el hilo entre en el estado listo esperando. ejecución.
Terminación natural: finaliza después de ejecutar el método run() normalmente.
Terminación anormal: llame al método stop() para detener la ejecución del hilo.
Bloqueado (Bloqueado)
Por alguna razón, el hilo en ejecución abandonó la CPU y suspendió su ejecución, es decir, entró en un estado de bloqueo.
Suspensión: utilice el método de suspensión (t larga) para poner el hilo en modo de suspensión. Después de un período de tiempo específico, el hilo inactivo puede entrar en el estado listo.
Esperando: Llame al método wait(). (Llame al método motivate() para volver al estado listo)
Bloqueado por otro hilo: llame al método suspend(). (Llame al método resume() para continuar)