Java thread dump: Différence entre les “en attente de verrouillage” et “parking à attendre”?

Dans une Java thread dump, vous pouvez voir les verrous mentionné dans les traces de pile.

Il semble y avoir trois types de renseignements:

1:

- locked <0x00002aab329f7fa0> (a java.io.BufferedInputStream)

2:

- waiting to lock <0x00002aaaf4ff6fa0> (a org.alfresco.repo.lock.LockServiceImpl)

3:

- parking to wait for  <0x00002aaafbf70bb8> (a java.util.concurrent.SynchronousQueue$TransferStack)
  • 1: Le fil a obtenu un verrou sur l'objet 0x00002aab329f7fa0.
  • 2&3: l'air de dire que le thread est en attente d'un verrou sur l'objet de devenir disponible...

    mais quelle est la différence 2 et 3?
  • Je demande parce que je suis en train de corriger cette prometteuse open source verrouille l'outil de visualisation: gist.github.com/3039126