es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Puedo usar ConditionObject en lugar de obtenerlo de un lock?

Cada fuente que vi en la www afirma que se obtiene un objeto Condition usando el método newCondition en un objeto Lock.

ReentrantLock.newCondition()

Pero al navegar por las fuentes de Java, vi que ya está disponible una implementación.

ConditionObject // implementa Condition

No quiero ser el único, por eso pregunto:

¿Puedo utilizar este objeto Condition para wait/notify/notifyAll con métodos sincronizados?

¿O es mejor mantener la combinación con locks?

Además:

Hay tanto código en el método await() de un objeto Condition. ¿Podría haber una diferencia de rendimiento entre el esperar/trabajar/notificar tradicional?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sí, se puede utilizar un Objeto Condición para esperar/notificar/notificarTodos con métodos sincronizados. Sin embargo, generalmente se recomienda utilizar la combinación de bloqueos y Objetos Condición ya que proporciona más flexibilidad y control sobre el proceso de sincronización.

    El método await() de un Objeto Condición contiene más código que los métodos tradicionales wait/notify/notifyAll, pero esto no necesariamente significa que habrá una diferencia de rendimiento. El rendimiento del Objeto Condición dependerá de la implementación específica y del contexto en el que se utiliza.

Comments are closed.