Utilizo visualVM para conectar una aplicación Java de múltiples subprocesos, el subproceso tiene 4 estados, es decir, en ejecución, en suspensión, en espera, en el Monitor. ¿Qué significa este estado de supervisión? ¿Cuál es la diferencia entre esperar y monitorizar?
java
multithreading
jvm
user84592
fuente
fuente
sleeping
y sewaiting
muestra en la captura de pantalla?Ese no es un estado de "supervisión" ... Indica que el hilo está en el
Thread.State.BLOCKED
estado. Veo que hay otra buena respuesta, solo le señalaré este enlace para una explicación más profundafuente
Monitor significará que el hilo está esperando alcanzar un bloqueo en un objeto. Por ejemplo, cuando un hilo está ejecutando un método sincronizado y otro intenta invocarlo en el mismo objeto, no podrá hacerlo hasta que finalice la primera invocación del método. Esto se debe a que el primer hilo tiene un monitor o bloqueo en ese objeto, por lo que el segundo debe esperar hasta que se libere.
De los tutoriales de Oracle Threading :
fuente