Я пытаюсь уменьшить конфликт блокировок на определенном пути кода в моем приложении. Чтобы идентифицировать код с высокой конкуренцией блокировок, я подключаю YourKit к своему приложению и использую вкладку «Монитор» и вижу, какие блокировки вызвали блокировку потока, о котором я беспокоюсь. Моя конечная цель - не иметь красных точек для этой темы на вкладке «Тема» в YK GUI.
Часто конфликт возникает из-за блокировки чтения / чтения с использованием внутренней блокировки, поэтому их можно улучшить, используя ReentrantLock
вместо внутренней блокировки. Действительно, когда я попробовал это, YourKit сообщил о более низкой конкуренции. Надежна ли эта информация? Правильно ли YourKit сообщает об использовании ReentrantLock?
Я использую YourKit 8.0.24 в Solaris 10 с 32-разрядной JVM Sun 1.6u18.