Pergunta

Eu estou tentando reduzir a contenção de bloqueio em um determinado código-caminho em meu aplicativo.Para identificar o código com alta contenção de bloqueio, eu conectar YourKit para meu aplicativo e usar o separador "Monitor" e ver que a aquisição de bloqueios de ter causado a thread que eu me importo para o bloco.Minha eventual objectivo é não ter pontos vermelhos para este segmento no "Thread" no YK GUI.

Muitas vezes, a discórdia surge a partir de leitura/ler fecho usando uma ferramenta de bloqueio, para que esses possam ser melhorado utilizando um ReentrantLock em vez de o intrínseco de bloqueio.De fato, quando eu tentei isso, YourKit relataram menor de contenção.É que a informação confiável?Não YourKit relatório de utilização de ReentrantLock é corretamente?

Eu estou usando o YourKit 8.0.24 no Solaris 10 para banhos de Sol com 1.6u18 de 32 bits JVM.

Foi útil?

Solução

Parece YourKit, a partir de agora, não relata ReentrantLocks como bloqueado na guia "Thread".

Outras dicas

Em vez de seguir um fecho-abordagem tentar projetar seu aplicativo ser lockfree.Com variáveis voláteis e as classes em java.util.simultâneas muitas vezes você pode escrever algoritmos que são lockfree e, portanto, não têm a contenção de bloqueio.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top