質問

アプリケーションの特定のコードパスでのロックの競合を減らしようとしています。高いロックの競合でコードを識別するために、Yourkitをアプリケーションに接続し、「モニター」タブを使用し、どのロックがブロックするかどうかを獲得するかを確認します。私の最終的な目的は、YK GUIの「スレッド」タブにこのスレッドに赤い点を持たないことです。

多くの場合、本質的なロックを使用して読み取り/読み取りロックから競合が生じるため、それらを使用することで改善できます。 ReentrantLock 固有のロックの代わりに。確かに私がこれを試したとき、Yourkitはより低い競合を報告しました。その情報は信頼できますか? yourkitはReentrantlockの使用を正しく報告していますか?

Solaris 10でSun 1.6U18 32ビットJVMでYourkit 8.0.24を使用しています。

役に立ちましたか?

解決

ように見えます yourkitは、今のところ、報告していません ReentrantLocks「スレッド」タブでブロックされています。

他のヒント

ロックアプローチをフォローする代わりに、アプリケーションを設計してみてください。揮発性変数とjava.util.concurrentのクラスを使用すると、しばしばロックフリーであるため、ロックの競合がないアルゴリズムを記述できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top