ReentrantReadWriteLock.ReentrantWriteLock.NewCondition メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
この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 メソッドが呼び出されたときにこの書き込みロックが保持されていない場合は、IllegalMonitorStateExceptionがスローされます。 (読み取りロックは書き込みロックとは独立して保持されるため、チェックも影響も受けません。ただし、ブロックを解除できる他のスレッドは書き込みロックを取得できないため、現在のスレッドも読み取りロックを取得したときに、条件待機メソッドを呼び出すことは、基本的に常にエラーです)。
<li>条件 Condition#await() 待機メソッドが呼び出されると、書き込みロックが解放され、戻る前に書き込みロックが再取得され、ロック保留カウントがメソッドの呼び出し時に復元されます。
<li>待機中にスレッドが Thread#interrupt interrupted の場合、待機は終了し、 InterruptedException がスローされ、スレッドの中断状態がクリアされます。
<li>Waiting スレッドは FIFO 順にシグナル通知されます。
<li>待機メソッドから返されるスレッドのロック再取得の順序は、最初にロックを取得するスレッドの順序は同じですが、既定では指定されていませんが、 <em>fair</em> ロックでは、最も長く待機しているスレッドが優先されます。
</ul>
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。