Javaのスレッドダンプで、ロック待ちにもかかわらず、"runnable"と表示される場合があります。これは正しい状態ですか?

Javaのスレッドダンプで、ロック待ちにもかかわらず、"runnable"と表示される場合があります。これは正しい状態ですか?
スレッドの先頭のスタックフレームで表示される最初のモニタ情報は、ロック済みであっても、ロック待ちであっても、必ず"waiting to lock"と表示します。

"Thread-1" prio=5 tid=0x257bf8 nid=0x21 runnable [0xb6780000..0xb6781a28]
 at java.util.Vector.elementAt(Vector.java:411)
 - waiting to lock <cf3ab018> (a java.util.Vector)
 at ...

"Thread-0" prio=5 tid=0x5d22b8 nid=0x20 waiting for monitor entry [0xb6880000..0xb6881a28]
 at java.util.Vector.elementAt(Vector.java:411)
 - waiting to lock <cf3ab018> (a java.util.Vector)
 at ...

runnableで"waiting to lock"となっているスレッドは、そのモニタをロック済みで、ロックをしたメソッドと同じメソッドを実行中のものです。

製品・サービス区分 Interstage
製品・サービス情報
対象製品 Interstage Application Server
バージョン V9, V8, V7, V6, V5, V4, V3
プラットフォーム Windows, Solaris, Linux
アンサー種別 運用/保守
このページの先頭へ