Language

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>is Thread#interrupt が読み取りロックの取得中に中断されました。

</ul>

InterruptedExceptionがスローされ、現在のスレッドの中断状態がクリアされます。

この実装では、このメソッドは明示的な中断ポイントであるため、ロックの通常または再入可能な取得に対する割り込みに応答することを優先します。

Javaドキュメント。

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

適用対象