Дает ли yourkit ReentrantLocks?
Вопрос
Я пытаюсь уменьшить конфликт блокировки на определенном кодовом пути в моем приложении. Чтобы определить код с высоким содержанием блокировки, я подключаю к своему приложению и использую вкладку «Монитор» и видите, как приобретение замков, вызвавших поток, которые я забочусь о блоке. Моя важная цель - не иметь красных точек для этой темы в вкладке «Тема» в YK GUI.
Часто конфликт возникает из записи / чтения блокировки с использованием внутренней блокировки, поэтому те могут быть улучшены с помощью ReentrantLock
вместо внутренней замки. Действительно, когда я попробовал это, Вашит сообщил о более низком конкуренции. Это информация надежна? Дает ли yourkit сообщить об использовании правильно ReentrantLock?
Я использую YourKit 8.0.24 на Solaris 10 с Sun 1.6U18 32-битный JVM.
Решение
Выглядит как Yourkit, поскольку сейчас не сообщает ReentrantLock
S, как заблокировано в вкладке «Тема».
Другие советы
Вместо того, чтобы следовать заблокированным подходом, попробуйте разработать ваше приложение быть блокировкой. С волатильными переменными и классами в Java.util.concurrent вы часто можете писать алгоритмы, которые являются блокировками, и поэтому не имеют борьбы с блокировкой.