yourkitはReentrantLocksを報告していますか?
質問
アプリケーションの特定のコードパスでのロックの競合を減らしようとしています。高いロックの競合でコードを識別するために、Yourkitをアプリケーションに接続し、「モニター」タブを使用し、どのロックがブロックするかどうかを獲得するかを確認します。私の最終的な目的は、YK GUIの「スレッド」タブにこのスレッドに赤い点を持たないことです。
多くの場合、本質的なロックを使用して読み取り/読み取りロックから競合が生じるため、それらを使用することで改善できます。 ReentrantLock
固有のロックの代わりに。確かに私がこれを試したとき、Yourkitはより低い競合を報告しました。その情報は信頼できますか? yourkitはReentrantlockの使用を正しく報告していますか?
Solaris 10でSun 1.6U18 32ビットJVMでYourkit 8.0.24を使用しています。
解決
ように見えます yourkitは、今のところ、報告していません ReentrantLock
s「スレッド」タブでブロックされています。
他のヒント
ロックアプローチをフォローする代わりに、アプリケーションを設計してみてください。揮発性変数とjava.util.concurrentのクラスを使用すると、しばしばロックフリーであるため、ロックの競合がないアルゴリズムを記述できます。
所属していません StackOverflow