ReentrantReadWriteLock.ReentrantWriteLock.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() waitObject#notify notifyObject#notifyAll notifyAll) と同じ使用法をサポートします。

<ul>

<li>Condition メソッドが呼び出されたときにこの書き込みロックが保持されていない場合は、IllegalMonitorStateExceptionがスローされます。 (読み取りロックは書き込みロックとは独立して保持されるため、チェックも影響も受けません。ただし、ブロックを解除できる他のスレッドは書き込みロックを取得できないため、現在のスレッドも読み取りロックを取得したときに、条件待機メソッドを呼び出すことは、基本的に常にエラーです)。

<li>条件 Condition#await() 待機メソッドが呼び出されると、書き込みロックが解放され、戻る前に書き込みロックが再取得され、ロック保留カウントがメソッドの呼び出し時に復元されます。

<li>待機中にスレッドが Thread#interrupt interrupted の場合、待機は終了し、 InterruptedException がスローされ、スレッドの中断状態がクリアされます。

<li>Waiting スレッドは FIFO 順にシグナル通知されます。

<li>待機メソッドから返されるスレッドのロック再取得の順序は、最初にロックを取得するスレッドの順序は同じですが、既定では指定されていませんが、 <em>fair</em> ロックでは、最も長く待機しているスレッドが優先されます。

</ul>

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象