Что происходит, когда состояние связано с замком, как это:Использование экземпляра условие с замком
Lock lock = new ReentrantLock();
Condition notFull = lock.newCondition();
Примером может быть ограниченный класс буфера, такие как here
Так что, когда, например, , вызываются методы notFull.await() и notFull.signal(), что ждет, когда их выйдет/что сигнализируется другим потокам, поскольку теперь они свободны в использовании.
Мое предположение заключалось в том, что в этом случае эти методы проверяют/сигнализируют состояние блокировки, заблокировано или разблокировано. Так, например, если был вызван lock.lock(), а затем вызывается notFull.await(), это приведет к тому, что поток, вызывающий метод notFull.await(), будет заблокирован/отправлен в очередь ожидания.
Правильно ли я с моим заключением?
Спасибо. Мой вопрос был плохо сформулирован, но вы помогли указать мне в правильном направлении, хотя я уже прочитал документацию.Просто идет, чтобы показать, что чтение вещи дважды никогда не болит. Ура! –
@ OmarSharaki Рассмотрите вопрос о том, как это сделать. –
Я сделал. Надеюсь, теперь это станет более полезным для других. –