Domanda

Sto cercando di ridurre la contesa dei blocchi su un particolare codice di percorso nella mia applicazione. Per identificare il codice con l'affermazione di alta serratura, YourKit mi collego alla mia richiesta e utilizzare la scheda "Monitor" e vedere l'acquisizione che blocca hanno causato il filo che mi interessa di blocco. Il mio obiettivo finale è quello di non avere punti rossi per questa discussione nella scheda "Thread" nel YK GUI.

Spesso la contesa nasce dalla lettura / lettura bloccaggio utilizzando un blocco intrinseca, quindi chi può essere migliorata utilizzando un ReentrantLock invece della serratura intrinseca. Infatti quando ho provato questo, YourKit riferito inferiore contesa. È che le informazioni affidabili? Non YourKit utilizzo relazione ReentrantLock è correttamente?

Sto usando YourKit 8.0.24 su Solaris 10 con Sun 1.6u18 32 bit JVM.

È stato utile?

Soluzione

Assomiglia YourKit , fin d'ora, non lo fa rapporto ReentrantLocks come bloccati nella scheda "thread".

Altri suggerimenti

Invece di seguire un blocco-approccio cercare di progettare la vostra applicazione sia lockfree. Con le variabili volatili e le classi in java.util.concurrent si può algoritmi spesso scrivono che sono lockfree e quindi non hanno contesa dei blocchi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top