Вопрос

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

Часто конфликт возникает из записи / чтения блокировки с использованием внутренней блокировки, поэтому те могут быть улучшены с помощью ReentrantLock вместо внутренней замки. Действительно, когда я попробовал это, Вашит сообщил о более низком конкуренции. Это информация надежна? Дает ли yourkit сообщить об использовании правильно ReentrantLock?

Я использую YourKit 8.0.24 на Solaris 10 с Sun 1.6U18 32-битный JVM.

Это было полезно?

Решение

Выглядит как Yourkit, поскольку сейчас не сообщает ReentrantLockS, как заблокировано в вкладке «Тема».

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top