Semaphore.Acquire メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
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>他のスレッドの Thread#interrupt によって現在のスレッドが中断されます。 </ul>
現在のスレッド: <ul><li>がこのメソッドへのエントリで割り込み状態が設定されている場合、または<許可を待機している間に li>が Thread#interrupt interrupted の場合は、/ul> がInterruptedException
スローされ、<現在のスレッドの中断状態がクリアされます。
の java.util.concurrent.Semaphore.acquire()
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>他のスレッドの Thread#interrupt が現在のスレッドを中断します。 </ul>
現在のスレッド: <ul><li>がこのメソッドへのエントリで割り込み状態が設定されている場合、または<許可を待機している間に li>が Thread#interrupt interrupted の場合は、/ul> がInterruptedException
スローされ、<現在のスレッドの中断状態がクリアされます。 このスレッドに割り当てられた許可は、許可を取得しようとしている他のスレッドに割り当てられます。これは、 の #release()
呼び出しによって許可が使用可能になったかのようにです。
の java.util.concurrent.Semaphore.acquire(int)
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。