Frage

Ich versuche, den Sperr-Konflikt auf einem bestimmten Code-Pfad in meiner Anwendung zu reduzieren. Um Code mit hohen Sperrkonflikten zu identifizieren, verbinde ich YourKit meine Anwendung und verwenden Sie die Registerkarte „Monitor“ und sehe den Erwerb, die Schlösser den Faden verursacht haben mich etwa zu Block kümmern. Mein Fernziel ist in dem „Thread“ Tab in YK GUI keine roten Punkte für diesen Thread zu haben.

Oft ist die Behauptung von Lese entsteht / Lesesperr eine intrinsische Sperre verwenden, so dass diese durch die Verwendung eines ReentrantLock verbessert werden kann, anstatt die intrinsische Sperre. In die Tat, wenn ich das versuchte, berichtete YourKit unteren Anstoß. Sind diese Informationen zuverlässig? Does YourKit Bericht Nutzung von ReentrantLock ist richtig?

Ich bin mit YourKit 8.0.24 auf Solaris 10 mit Sun 1.6u18 32-Bit-JVM.

War es hilfreich?

Lösung

Sieht aus wie YourKit, ab sofort, Bericht nicht ReentrantLocks wie in dem "Thread" Tab blockiert.

Andere Tipps

Statt nach einem Sperr Ansatz versucht Ihre Anwendung lockfree zu entwerfen. Mit flüchtigen Variablen und die Klassen in java.util.concurrent können Sie häufig Schreib Algorithmen, die lockfree sind und haben daher keine Sperr-Konflikt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top