다음을 통해 공유


Semaphore.TryAcquire 메서드

정의

오버로드

TryAcquire()

호출 시 사용 가능한 경우에만 이 세마포에서 허가를 획득합니다.

TryAcquire(Int32)

호출 시 모두 사용할 수 있는 경우에만 이 세마포에서 지정된 수의 허가를 획득합니다.

TryAcquire(Int64, TimeUnit)

지정된 대기 시간 내에 사용 가능해지고 현재 스레드가 Thread#인터럽트 중단되지 않은 경우 이 세마포에서 허가를 받습니다.

TryAcquire(Int32, Int64, TimeUnit)

지정된 대기 시간 내에 모두 사용할 수 있고 현재 스레드가 Thread#인터럽트 중단되지 않은 경우 이 세마포에서 지정된 수의 허용을 획득합니다.

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과 함께 즉시 반환됩니다.

이 세마포가 공정한 주문 정책을 tryAcquire()<<>> 사용하도록 설정된 경우에도 다른 스레드가 현재 대기 중인지 여부에 관계없이 사용 가능한 경우 해당 호출은 즉시 허가를 획득합니다. 이 따옴표 barging&따옴표; 동작은 공정성을 깨뜨리더라도 특정 상황에서 유용할 수 있습니다. 공정성 설정을 적용하려면 거의 동일한 설정을 사용합니다 #tryAcquire(long, TimeUnit) tryAcquire(0, TimeUnit.SECONDS) (중단도 감지됨).

에 대한 java.util.concurrent.Semaphore.tryAcquire()Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 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 그렇지 않으면

특성

예외

음수이면 permits

설명

호출 시 모두 사용할 수 있는 경우에만 이 세마포에서 지정된 수의 허가를 획득합니다.

사용 가능한 경우 지정된 허용 횟수를 획득하고 값 true으로 즉시 반환하여 사용 가능한 허가 수를 지정된 양만큼 줄입니다.

사용 가능한 허가가 부족한 경우 이 메서드는 값 false 과 함께 즉시 반환되며 사용 가능한 허가 수는 변경되지 않습니다.

이 세마포가 공정한 주문 정책을 tryAcquire<<>> 사용하도록 설정된 경우에도 다른 스레드가 현재 대기 중인지 여부에 관계없이 사용 가능한 경우 해당 호출은 즉시 허가를 획득합니다. 이 따옴표 barging&따옴표; 동작은 공정성을 깨뜨리더라도 특정 상황에서 유용할 수 있습니다. 공정성 설정을 적용하려면 거의 동일한 설정을 사용합니다 #tryAcquire(int, long, TimeUnit) tryAcquire(permits, 0, TimeUnit.SECONDS) (중단도 감지됨).

에 대한 java.util.concurrent.Semaphore.tryAcquire(int)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

TryAcquire(Int64, TimeUnit)

지정된 대기 시간 내에 사용 가능해지고 현재 스레드가 Thread#인터럽트 중단되지 않은 경우 이 세마포에서 허가를 받습니다.

[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#인터럽트 중단되지 않은 경우 이 세마포에서 허가를 받습니다.

사용 가능한 경우 허가를 획득하고 값 true으로 즉시 반환하여 사용 가능한 허가 수를 1씩 줄입니다.

사용 가능한 허가가 없는 경우 현재 스레드는 스레드 예약을 위해 비활성화되고 세 가지 중 하나가 발생할 때까지 휴면 상태가 됩니다 <. ul><li>일부 다른 스레드는 이 세마포에 대한 메서드를 호출 #release 하고 현재 스레드는 허가가 할당될 옆에 있습니다. 또는 <li>다른 스레드 스레드#인터럽트는 현재 스레드를 중단합니다. 또는 <li>지정된 대기 시간이 경과합니다. </ul>

허가를 받으면 값 true 이 반환됩니다.

현재 스레드: ul>li가 이 메서드에 대한 항목에서 중단된 상태를 설정한 경우, 또는 <li>가 허가를 <얻기 위해 기다리는 동안 Thread#인터럽트 중단되면 /ul InterruptedException> 이 throw되고 현재 스레드의 중단 상태가 지워집니다.><<

지정된 대기 시간이 경과하면 값 false 이 반환됩니다. 시간이 0보다 작거나 같으면 메서드는 전혀 기다리지 않습니다.

에 대한 java.util.concurrent.Semaphore.tryAcquire(long, java.util.concurrent.TimeUnit)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

TryAcquire(Int32, Int64, TimeUnit)

지정된 대기 시간 내에 모두 사용할 수 있고 현재 스레드가 Thread#인터럽트 중단되지 않은 경우 이 세마포에서 지정된 수의 허용을 획득합니다.

[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 모든 허가를 획득하기 전에 대기 시간이 경과한 경우

특성

예외

현재 스레드가 중단된 경우

음수이면 permits

설명

지정된 대기 시간 내에 모두 사용할 수 있고 현재 스레드가 Thread#인터럽트 중단되지 않은 경우 이 세마포에서 지정된 수의 허용을 획득합니다.

사용 가능한 경우 지정된 허용 횟수를 획득하고 값 true으로 즉시 반환하여 사용 가능한 허가 수를 지정된 금액만큼 줄입니다.

사용 가능한 허가가 부족한 경우 현재 스레드는 스레드 예약을 위해 비활성화되고 세 가지 중 하나가 발생할 <때까지 휴면 상태가 됩니다. ul><li>다른 스레드는 이 세마포에 대한 메서드 중 #release() release 하나를 호출하고 현재 스레드는 할당된 허가 옆에 있으며 사용 가능한 허용 횟수는 이 요청을 충족합니다. 또는 <li>다른 스레드 스레드#는 현재 스레드 <> 를 중단합니다.지정된 대기 시간이 경과합니다. </ul>

허가를 받으면 값 true 이 반환됩니다.

현재 스레드: ul>li가 이 메서드에 대한 항목에서 중단된 상태를 설정했거나<, 허용을 <획득하기 위해 기다리는 동안 thread>#interrupt가 중단된 경우 /ul InterruptedException> 이 throw되고 현재 스레드의 중단 상태가 지워집니다.><< 이 스레드에 할당되어야 하는 모든 허가는 허가증을 #release()획득하려는 다른 스레드에 할당됩니다.

지정된 대기 시간이 경과하면 값 false 이 반환됩니다. 시간이 0보다 작거나 같으면 메서드는 전혀 기다리지 않습니다. 이 스레드에 할당되어야 하는 모든 허가는 허가증을 #release()획득하려는 다른 스레드에 할당됩니다.

에 대한 java.util.concurrent.Semaphore.tryAcquire(int, long, java.util.concurrent.TimeUnit)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상