ReentrantReadWriteLock.ReentrantReadLock.LockInterruptibly メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在のスレッドが Thread#interrupt interrupted でない限り、読み取りロックを取得します。
[Android.Runtime.Register("lockInterruptibly", "()V", "GetLockInterruptiblyHandler")]
public virtual void LockInterruptibly ();
[<Android.Runtime.Register("lockInterruptibly", "()V", "GetLockInterruptiblyHandler")>]
abstract member LockInterruptibly : unit -> unit
override this.LockInterruptibly : unit -> unit
実装
- 属性
例外
現在のスレッドが中断された場合
注釈
現在のスレッドが Thread#interrupt interrupted でない限り、読み取りロックを取得します。
書き込みロックが別のスレッドによって保持されていない場合に読み取りロックを取得し、すぐにを返します。
書き込みロックが別のスレッドによって保持されている場合、現在のスレッドはスレッド のスケジュールのために無効になり、次の 2 つのいずれかが発生するまで休止状態になります。
<ul>
<li>読み取りロックは、現在のスレッドによって取得されます。
<li>他のスレッドスレッド#割り込みは現在のスレッドを中断します。
</ul>
現在のスレッドの場合:
<ul>
<li>は、このメソッドへの入力時に割り込まれた状態を設定します。
<li>は、読み取りロックの取得中に Thread#interrupt が中断されました。
</ul>
が InterruptedException
スローされ、現在のスレッドの中断状態がクリアされます。
この実装では、このメソッドは明示的な中断ポイントであるため、ロックの通常または再入可能な取得に対する割り込みに応答することを優先します。
の java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock.lockInterruptibly()
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。