81 votes

Java JVM de profilage, le fil d'état - ce qui fait la "Surveillance" statut veux dire?

enter image description here

salut: j'utilise visualVM connecter un multi thread Java application, le fil a 4 du statut, à savoir la course, dormir, attendre, Surveiller. Qu'est-ce Surveillance de l'état signifie? Quelle est la différence entre attendre et Surveiller?

89voto

Jesper Points 65733

Ces états sont les mêmes que mentionné dans l' Thread.State enum. "D'attente" signifie, comme le dit la documentation:

Un thread est dans l'état d'attente en raison d'appeler l'une des méthodes suivantes:

  • Objet.attendre sans délai d'attente
  • Fil de discussion.rejoindre sans délai d'attente
  • LockSupport.parc

"Monitor" est l' BLOCKED de l'état, dans lequel le thread est en attente pour obtenir un verrou sur un objet (parce qu'il essaie de saisir un synchronized bloc ou de la méthode, tandis qu'un autre thread est déjà titulaire de l'associé de verrouillage).

7voto

Grooveek Points 6725

Ce n'est pas un "suivi" de l'état... Il indique que le thread est dans l' Thread.State.BLOCKED de l'état. Je vois qu'il ya une autre bonne réponse, je vais simplement vous indiquer à ce lien pour plus d'explication

5voto

mogronalol Points 950

Moniteur sera le thread est en attente pour atteindre un verrou sur un objet. Par exemple, lorsqu'un thread est en cours d'exécution d'une méthode synchronisée et de l'autre on essaie de l'appeler sur le même objet, il ne sera pas en mesure de jusqu'à la première invocation de la méthode est fini. C'est parce que le premier thread a un moniteur ou un verrou sur l'objet, alors que le second doit attendre jusqu'à ce qu'il soit libéré.

À Partir D' Oracle Filetage Tutoriels:

"La synchronisation est construit autour d'un interne de l'entité connue sous le nom intrinsèques de verrouillage ou de moniteur de verrouillage. (La spécification de l'API fait souvent référence à cette entité simplement comme un "moniteur".) Intrinsèque des serrures de jouer un rôle dans les deux aspects de la synchronisation: l'application d'un accès exclusif à l'état d'un objet et de l'établissement de-passe-avant les relations qui sont essentielles à la visibilité."

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X