Pregunta

Estoy tratando de reducir la contención de bloqueo en una ruta de código particular de mi solicitud. Para identificar el código con la afirmación de alto bloqueo, conecto YourKit a mi solicitud y utilice la ficha "Monitor" y ver lo que la adquisición de las cerraduras han causado el hilo que me importa a bloque. Mi objetivo final es no tener puntos rojos para este hilo en la pestaña de "hilo" en YK interfaz gráfica de usuario.

A menudo surge la contención de lectura / lectura de bloqueo usando un bloqueo intrínseco, por lo que aquellos se puede mejorar mediante el uso de un ReentrantLock en lugar de la cerradura intrínseca. De hecho, cuando he intentado esto, YourKit informó contención inferior. Es fiable que la información? ¿El uso de YourKit informe de ReentrantLock está correctamente?

Estoy utilizando YourKit 8.0.24 en Solaris 10 con Sun 1.6u18 JVM de 32 bits.

¿Fue útil?

Solución

miradas como YourKit , a partir de ahora, no informa ReentrantLocks como bloqueados en la pestaña "hilo".

Otros consejos

En lugar de seguir un enfoque de bloqueo a tratar de diseñar su aplicación sea lockfree. Con las variables volátiles y las clases en java.util.concurrent puede algoritmos frecuencia de escritura que son lockfree y por lo tanto no tienen la contención de bloqueo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top