Javaプログラムのスレッドダンプを取りましたが、それはと言っていましたFound one Java-level deadlock
。
このプログラムにバグがあることを自信を持って確認できますか?
私には、デッドロックはプログラミングの問題のように思えます。唯一の解決策は、ソースコードを修正することです。
私が間違っている?デッドロックがプログラムの実行の通常の部分であり、デッドロックが最終的に何らかの形で解消される状況はありますか?
これは、何百人ものユーザーがいる、かなり従来型のJavaWebアプリケーションです。互いに待機している2つのスレッドは、1つのTomcatリクエストワーカーと1つのLuceneインデックス作成ジョブのようです。どちらもを使用してsun.misc.Unsafe.park
います。私の知る限り、このプログラムにはスレッド監視のメタ洗練がありません。