9. Observa el estado del hilo

Observar el estado del hilo (estado)

diagrama de estado del hilo

[Falló la transferencia de la imagen del enlace externo, el sitio de origen puede tener un mecanismo anti-leech, se recomienda guardar la imagen y cargarla directamente (img-mZpnH3sH-1648384673477) (E:\desktop\img\threadexecution.jpg)]

  • Thread.State (extiende Enum)
  • hilo.getState(); // actualizar hilo
  • El hilo después de la muerte no se puede iniciar de nuevo.
  • Heredar enumeración
  • Estado del subproceso, un subproceso puede estar en uno de los siguientes estados (constante de estado)
    • NUEVO estado de estudiante de primer año
    • estado de ejecución EJECUTABLE
    • estado de bloqueo BLOQUEADO
    • ESPERA estado de bloqueo
    • TIMED_WAITING estado de bloqueo
    • TERMINADO estado de muerte
package com.state;

// 观察测试线程的状态
public class TestState {
    public static void main(String[] args) throws InterruptedException {
        Thread thread = new Thread(()->{
            for (int i = 0; i < 5; i++) {
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            System.out.println("//");
        });

        // 观察状态
        Thread.State state = thread.getState();
        System.out.println(state); // NEW

        // 观察启动后
        thread.start(); // 启动线程
        state = thread.getState(); // 更新线程
        System.out.println(state); // Run

        // 观察
        while (state != thread.getState().TERMINATED){ // 只要线程不终止,一直观察状态
            Thread.sleep(100);
            state = thread.getState(); // 更新线程
            System.out.println(state); // 输出状态
        }

        // thread.start(); // 死亡之后的线程,不可以再一次启动
    }
}

/ thread.start(); // El hilo después de la muerte no se puede volver a iniciar
}
}


Supongo que te gusta

Origin blog.csdn.net/weixin_56121715/article/details/123780924
Recomendado
Clasificación