Semaphore.TryAcquire 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
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 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.