アプリケーションの特定のコードパスでのロックの競合を減らしようとしています。ロックの競合が多いコードを特定するには、YourKitをアプリケーションに接続し、[監視]タブを使用して、ブロックしたいスレッドの原因となったロックを取得します。私の最終的な目的は、YKGUIの[スレッド]タブにこのスレッドの赤い点がないようにすることです。
ReentrantLock
多くの場合、競合は組み込みロックを使用した読み取り/読み取りロックから発生するため、組み込みロックの代わりに使用することで競合を改善できます。実際、私がこれを試したとき、YourKitはより低い競合を報告しました。その情報は信頼できますか?YourKitはReentrantLockの使用状況を正しく報告していますか?
私は、Sun1.6u1832ビットJVMを搭載したSolaris10でYourKit8.0.24を使用しています。