Поделиться через


ReentrantLock.NewCondition Метод

Определение

Возвращает экземпляр для использования с этим Lock экземпляромCondition.

[Android.Runtime.Register("newCondition", "()Ljava/util/concurrent/locks/Condition;", "GetNewConditionHandler")]
public virtual Java.Util.Concurrent.Locks.ICondition? NewCondition ();
[<Android.Runtime.Register("newCondition", "()Ljava/util/concurrent/locks/Condition;", "GetNewConditionHandler")>]
abstract member NewCondition : unit -> Java.Util.Concurrent.Locks.ICondition
override this.NewCondition : unit -> Java.Util.Concurrent.Locks.ICondition

Возвращаемое значение

Объект Condition

Реализации

Атрибуты

Комментарии

Возвращает экземпляр для использования с этим Lock экземпляромCondition.

Возвращаемый Condition экземпляр поддерживает то же использование, что Object и методы монитора (Object#wait() wait, Object#notify notifyи Object#notifyAll notifyAll) при использовании со встроенной блокировкой монитора.

<ul>

<li>, если эта блокировка не удерживается при вызове каких-либо Conditionметодов ожидания condition#await() или condition#signal signalling, IllegalMonitorStateException создается исключение.

<li>, когда метод ожидания condition#await() вызывается блокировка и, прежде чем они возвращаются, блокировка повторно запрашивается, а количество удержаний блокировки восстановлено до того, что было при вызове метода.

<li>Если поток — Thread#прерывание при ожидании, то ожидание завершится, InterruptedException будет создано исключение, и состояние прерывания потока будет удалено.

<ли>потоки ожидания сигнализируются в порядке FIFO.

<li>Порядок повторного определения блокировки для потоков, возвращаемых из методов ожидания, совпадает с тем, что для потоков первоначально приобретает блокировку, которая в случае по умолчанию не указана, но для <>em fair</em> locks предпочитает те потоки, которые ждали самого долгого времени.

</ul>

Документация по Java для java.util.concurrent.locks.ReentrantLock.newCondition().

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к