YourKit сообщает о ReentrantLocks? - PullRequest
3 голосов
/ 15 июня 2010

Я пытаюсь уменьшить конфликт блокировок на определенном пути кода в моем приложении. Чтобы идентифицировать код с высокой конкуренцией блокировок, я подключаю YourKit к своему приложению и использую вкладку «Монитор» и вижу, какие блокировки вызвали блокировку потока, о котором я беспокоюсь. Моя конечная цель - не иметь красных точек для этой темы на вкладке «Тема» в YK GUI.

Часто конфликт возникает из-за блокировки чтения / чтения с использованием внутренней блокировки, поэтому их можно улучшить, используя ReentrantLock вместо внутренней блокировки. Действительно, когда я попробовал это, YourKit сообщил о более низкой конкуренции. Надежна ли эта информация? Правильно ли YourKit сообщает об использовании ReentrantLock?

Я использую YourKit 8.0.24 в Solaris 10 с 32-разрядной JVM Sun 1.6u18.

Ответы [ 2 ]

0 голосов
/ 18 июня 2010

Похоже, YourKit на данный момент не сообщает ReentrantLock s как заблокированные на вкладке "Тема".

0 голосов
/ 15 июня 2010

Вместо того, чтобы следовать подходу блокировки, постарайтесь разработать свое приложение без блокировки.С переменными и классами в java.util.concurrent вы часто можете писать алгоритмы, которые не содержат блокировок и, следовательно, не имеют конфликтов блокировки.

...