Semaphore.TryAcquire メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
TryAcquire() |
呼び出し時に使用可能な場合にのみ、このセマフォから許可を取得します。 |
TryAcquire(Int32) |
呼び出し時にすべてが使用可能な場合にのみ、このセマフォから許可の数を取得します。 |
TryAcquire(Int64, TimeUnit) |
指定された待機時間内に使用可能になり、現在のスレッドが Thread#interrupted になっていない場合は、このセマフォから許可を取得します。 |
TryAcquire(Int32, Int64, TimeUnit) |
指定された待機時間内にすべてが使用可能になり、現在のスレッドが Thread#interrupt 割り込みが中断されていない場合に、このセマフォから許可の数を取得します。 |
TryAcquire()
呼び出し時に使用可能な場合にのみ、このセマフォから許可を取得します。
[Android.Runtime.Register("tryAcquire", "()Z", "GetTryAcquireHandler")]
public virtual bool TryAcquire ();
[<Android.Runtime.Register("tryAcquire", "()Z", "GetTryAcquireHandler")>]
abstract member TryAcquire : unit -> bool
override this.TryAcquire : unit -> bool
戻り値
true
許可が取得された場合、それ以外の false
場合
- 属性
注釈
呼び出し時に使用可能な場合にのみ、このセマフォから許可を取得します。
使用可能な場合は許可を取得し、その値 true
を使用して直ちに戻り、使用可能な許可の数を 1 つ減らします。
使用可能な許可がない場合、このメソッドはすぐに値 false
を返します。
このセマフォが公正な順序付けポリシーを使用するように設定されている場合でも、他のスレッドが現在待機しているかどうかに関係なく、em>will/em> の呼び出し<tryAcquire()
は、使用可能な場合は直ちに許可<を取得します。 この >barging>の動作は、公平性を破る場合でも、特定の状況で役立ちます。 公平性の設定を尊重する場合は、ほぼ同等の値を使用 #tryAcquire(long, TimeUnit) tryAcquire(0, TimeUnit.SECONDS)
します (中断も検出されます)。
の Java ドキュメントjava.util.concurrent.Semaphore.tryAcquire()
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
適用対象
TryAcquire(Int32)
呼び出し時にすべてが使用可能な場合にのみ、このセマフォから許可の数を取得します。
[Android.Runtime.Register("tryAcquire", "(I)Z", "GetTryAcquire_IHandler")]
public virtual bool TryAcquire (int permits);
[<Android.Runtime.Register("tryAcquire", "(I)Z", "GetTryAcquire_IHandler")>]
abstract member TryAcquire : int -> bool
override this.TryAcquire : int -> bool
パラメーター
- permits
- Int32
取得許可の数
戻り値
true
許可が取得された場合、 false
それ以外の場合は
- 属性
例外
if が負の場合permits
注釈
呼び出し時にすべてが使用可能な場合にのみ、このセマフォから許可の数を取得します。
指定された数の許可を取得し (使用可能な場合)、その値 true
を使用して直ちに戻り、指定された量だけ使用可能な許可の数を減らします。
不十分な許可が利用可能な場合、このメソッドはすぐに値 false
を返し、利用可能な許可の数は変更されません。
このセマフォが公正な順序付けポリシーを使用するように設定されている場合でも、他のスレッドが現在待機しているかどうかに関係なく、em>will/em> の呼び出し<tryAcquire
は、使用可能な場合は直ちに許可<を取得します。 この >barging>の動作は、公平性を破る場合でも、特定の状況で役立ちます。 公平性の設定を尊重する場合は、ほぼ同等の値を使用 #tryAcquire(int, long, TimeUnit) tryAcquire(permits, 0, TimeUnit.SECONDS)
します (中断も検出されます)。
の Java ドキュメントjava.util.concurrent.Semaphore.tryAcquire(int)
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
適用対象
TryAcquire(Int64, TimeUnit)
指定された待機時間内に使用可能になり、現在のスレッドが Thread#interrupted になっていない場合は、このセマフォから許可を取得します。
[Android.Runtime.Register("tryAcquire", "(JLjava/util/concurrent/TimeUnit;)Z", "GetTryAcquire_JLjava_util_concurrent_TimeUnit_Handler")]
public virtual bool TryAcquire (long timeout, Java.Util.Concurrent.TimeUnit? unit);
[<Android.Runtime.Register("tryAcquire", "(JLjava/util/concurrent/TimeUnit;)Z", "GetTryAcquire_JLjava_util_concurrent_TimeUnit_Handler")>]
abstract member TryAcquire : int64 * Java.Util.Concurrent.TimeUnit -> bool
override this.TryAcquire : int64 * Java.Util.Concurrent.TimeUnit -> bool
パラメーター
- timeout
- Int64
許可を待つ最大時間
- unit
- TimeUnit
引数の timeout
時間単位
戻り値
true
許可が取得された場合、および false
許可が取得される前に待機時間が経過した場合
- 属性
例外
現在のスレッドが中断された場合
注釈
指定された待機時間内に使用可能になり、現在のスレッドが Thread#interrupted になっていない場合は、このセマフォから許可を取得します。
使用可能な場合は許可を取得し、その値 true
を使用して直ちに戻り、使用可能な許可の数を 1 つ減らします。
許可が使用できない場合、現在のスレッドはスレッド スケジューリングのために無効になり、3 つのことが起こる<まで休止状態になります。ul><li>他のスレッドがこのセマフォのメソッドを呼び出#release
し、現在のスレッドが次に許可を割り当てられるか、li <>他のスレッドのスレッド#割り込みが現在のスレッドを中断するか、li <>指定された待機時間が経過します。 </ul>
許可が取得された場合、値 true
が返されます。
現在のスレッド : <ul><li>がこのメソッドへのエントリで割り込み状態を設定している場合、または <li>が許可の取得を待機している間に Thread#interrupt が中断された場合、/ul>InterruptedException
がスローされ、<現在のスレッドの中断状態がクリアされます。
指定した待機時間が経過すると、値 false
が返されます。 時間が 0 以下の場合、メソッドはまったく待機しません。
の Java ドキュメントjava.util.concurrent.Semaphore.tryAcquire(long, java.util.concurrent.TimeUnit)
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
適用対象
TryAcquire(Int32, Int64, TimeUnit)
指定された待機時間内にすべてが使用可能になり、現在のスレッドが Thread#interrupt 割り込みが中断されていない場合に、このセマフォから許可の数を取得します。
[Android.Runtime.Register("tryAcquire", "(IJLjava/util/concurrent/TimeUnit;)Z", "GetTryAcquire_IJLjava_util_concurrent_TimeUnit_Handler")]
public virtual bool TryAcquire (int permits, long timeout, Java.Util.Concurrent.TimeUnit? unit);
[<Android.Runtime.Register("tryAcquire", "(IJLjava/util/concurrent/TimeUnit;)Z", "GetTryAcquire_IJLjava_util_concurrent_TimeUnit_Handler")>]
abstract member TryAcquire : int * int64 * Java.Util.Concurrent.TimeUnit -> bool
override this.TryAcquire : int * int64 * Java.Util.Concurrent.TimeUnit -> bool
パラメーター
- permits
- Int32
取得許可の数
- timeout
- Int64
許可を待つ最大時間
- unit
- TimeUnit
引数の timeout
時間単位
戻り値
true
すべての許可が取得され、 false
すべての許可が取得される前に待機時間が経過した場合
- 属性
例外
現在のスレッドが中断された場合
if が負の場合permits
注釈
指定された待機時間内にすべてが使用可能になり、現在のスレッドが Thread#interrupt 割り込みが中断されていない場合に、このセマフォから許可の数を取得します。
指定された許可の数を取得します(使用可能で、すぐに戻る場合は値を true
使用して)、指定された量だけ利用可能な許可の数を減らします。
不十分な許可が利用可能な場合、現在のスレッドはスレッドスケジューリングのために無効になり、3つのことが起こるまで休止状態になります:ul>li 他のスレッドがこのセマフォのいずれかの#release() release
メソッドを呼び出し、現在のスレッドは割り当て許可の隣にあり、利用可能な許可の数はこの要求を満たします。または<、li>他のスレッドのスレッド#割り込みによって現在のスレッドが中断されます<>。><<指定された待機時間が経過します。 </ul>
許可が取得された場合、値 true
が返されます。
現在のスレッド ul <<>li>がこのメソッドへのエントリで割り込み状態を設定している場合、または <li>が許可の取得を待機している間に Thread#interrupt が中断された場合、/ul>InterruptedException
がスローされ、<現在のスレッドの中断状態がクリアされます。 このスレッドに割り当てられたすべての許可は、代わりに許可を取得 #release()
しようとしている他のスレッドに割り当てられます。
指定した待機時間が経過すると、値 false
が返されます。 時間が 0 以下の場合、メソッドはまったく待機しません。 このスレッドに割り当てられたすべての許可は、代わりに許可を取得 #release()
しようとしている他のスレッドに割り当てられます。
の Java ドキュメントjava.util.concurrent.Semaphore.tryAcquire(int, long, java.util.concurrent.TimeUnit)
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。