ReentrantReadWriteLock.ReentrantReadLock.LockInterruptibly メソッド

定義

現在のスレッドが 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 ドキュメント。

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

適用対象