Interstage Application Serverにおいて、Javaアプリケーションのスレッドダンプを取ると、自分で取得したロックを自分自身で待っています。なぜこのような動作になるのでしょうか?
- Javaアプリケーションのスレッドダンプを取ると、以下のようになり、自分で取得したロックを自分自身で待っています。
なぜこのような動作になるのでしょうか?
"Thread-1" prio=5 tid=0x62174e0 nid=0x19cc in Object.wait() [0x67cad000..0x67cafaa0]
at java.lang.Object.wait(Native Method)
- waiting on <0x5c4aaa68> (a java.lang.Object)
at com.example.Application.doSomething(Application.java:497)
- locked <0x5c4aaa68> (a java.lang.Object) - 1行目に表示されているスレッドの状態が、「Object.wait()」となっている場合、このスレッドはロック待ち状態ではなく、Object.wait()を実行している状態です。
一般的には、他のスレッドからObject.notify()されるのを待っている状態となります。
製品・サービス区分 | Interstage | ||||||
---|---|---|---|---|---|---|---|
製品・サービス情報 |
|
||||||
アンサー種別 | 運用/保守 |