言語

Semaphore.Acquire メソッド

定義

オーバーロード

名前 説明
Acquire()

このセマフォから許可を取得し、使用可能になるまでブロックするか、スレッドが Thread#interrupt interrupted になるまでブロックします。

Acquire(Int32)

このセマフォから指定された数の許可を取得し、すべてが使用可能になるまでブロックするか、スレッドが Thread#interrupt interrupted になるまでブロックします。

Acquire()

このセマフォから許可を取得し、使用可能になるまでブロックするか、スレッドが Thread#interrupt interrupted になるまでブロックします。

[Android.Runtime.Register("acquire", "()V", "GetAcquireHandler")]
public virtual void Acquire();
[<Android.Runtime.Register("acquire", "()V", "GetAcquireHandler")>]
abstract member Acquire : unit -> unit
override this.Acquire : unit -> unit
属性

例外

現在のスレッドが中断された場合

注釈

このセマフォから許可を取得し、使用可能になるまでブロックするか、スレッドが Thread#interrupt interrupted になるまでブロックします。

使用可能な場合は許可を取得し、すぐに戻り、利用可能な許可の数を 1 つ減らします。

許可がない場合、現在のスレッドはスレッド スケジューリングのために無効になり、次の 2 つのことが起こるまで休止状態になります。 <ul><li>他のスレッドがこのセマフォに対して #release メソッドを呼び出し、現在のスレッドには許可が割り当てられます。または、 <li>他のスレッドスレッド#割り込みによって現在のスレッドが中断されます。 </ul>

現在のスレッドが<ul><li>このメソッドへのエントリで割り込まれた状態が設定されている場合、または許可を待っている間にスレッド#割り込みが中断された<></ul>InterruptedExceptionがスローされ、現在のスレッドの中断状態がクリアされます。

Javaドキュメント。

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

適用対象

Acquire(Int32)

このセマフォから指定された数の許可を取得し、すべてが使用可能になるまでブロックするか、スレッドが Thread#interrupt interrupted になるまでブロックします。

[Android.Runtime.Register("acquire", "(I)V", "GetAcquire_IHandler")]
public virtual void Acquire(int permits);
[<Android.Runtime.Register("acquire", "(I)V", "GetAcquire_IHandler")>]
abstract member Acquire : int -> unit
override this.Acquire : int -> unit

パラメーター

permits
Int32

取得許可の数

属性

例外

現在のスレッドが中断された場合

permitsが負の場合

注釈

このセマフォから指定された数の許可を取得し、すべてが使用可能になるまでブロックするか、スレッドが Thread#interrupt interrupted になるまでブロックします。

指定された許可の数 (使用可能な場合) を取得し、すぐに戻り、指定された量だけ使用可能な許可の数を減らします。 このメソッドはループ for (int i = 0; i < permits; ++i) acquire(); と同じ効果を持ちますが、許可をアトミックに一度に取得する点が異なります。

不十分な許可が使用可能な場合、現在のスレッドはスレッド スケジューリングのために無効になり、次の 2 つのことが起こるまで休止状態になります。 <ul><li>他のスレッドがこのセマフォの #release() release メソッドのいずれかを呼び出し、現在のスレッドが割り当てられ、使用可能な許可の数がこの要求を満たすか、または <li>他のスレッドスレッド#割り込み割り込みが現在のスレッドに割り込まれます。 </ul>

現在のスレッドが<ul><li>このメソッドへのエントリで割り込まれた状態が設定されている場合、または許可を待っている間にスレッド#割り込みが中断された<></ul>InterruptedExceptionがスローされ、現在のスレッドの中断状態がクリアされます。 このスレッドに割り当てられる許可は、代わりに、許可を取得しようとしている他のスレッドに割り当てられます。これは、 #release()の呼び出しによって許可が使用可能になったかのように行われます。

Javaドキュメント。

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

適用対象