Est-ce YourKit ReentrantLocks rapport?
Question
Je suis en train de réduire la contention de verrouillage sur un code particulier chemin dans ma demande. Pour identifier le code avec contention haute serrure, je YourKit connecter à mon application et utilisez l'onglet « Monitor » et voir l'acquisition des verrous ont fait le fil Je me soucie de bloc. Mon objectif final est de ne pas avoir des points rouges pour ce fil dans l'onglet « Discussion » dans l'interface graphique YK.
Souvent, l'affirmation provient de lecture / lecture de verrouillage à l'aide d'un verrou intrinsèque, de sorte que ceux-ci peuvent être améliorées en utilisant un ReentrantLock
au lieu de la serrure intrinsèque. En effet, quand j'ai essayé cela, YourKit rapporté discorde plus faible. Cette information est-elle fiable? Est-ce que l'utilisation YourKit du rapport de ReentrantLock est correctement?
J'utilise YourKit 8.0.24 sur Solaris 10 avec Sun 1.6u18 JVM 32 bits.
La solution
On dirait YourKit, dès maintenant, ne fait pas rapport ReentrantLock
s comme bloqué dans l'onglet « discussion ».
Autres conseils
Au lieu de suivre un essai verrouillage approche pour concevoir votre application soit lockfree. Avec les variables volatiles et les classes java.util.concurrent vous pouvez souvent des algorithmes écriture qui sont lockfree et ont donc pas de conflit de verrouillage.