다음을 통해 공유


Selector.Select 메서드

정의

오버로드

Select(IConsumer, Int64)

해당 채널이 I/O 작업에 사용할 준비가 된 키에서 작업을 선택하고 수행합니다.

Select(Int64)

해당 채널이 I/O 작업에 사용할 준비가 된 키 집합을 선택합니다.

Select()

해당 채널이 I/O 작업에 사용할 준비가 된 키 집합을 선택합니다.

Select(IConsumer)

해당 채널이 I/O 작업에 사용할 준비가 된 키에서 작업을 선택하고 수행합니다.

Select(IConsumer, Int64)

해당 채널이 I/O 작업에 사용할 준비가 된 키에서 작업을 선택하고 수행합니다.

[Android.Runtime.Register("select", "(Ljava/util/function/Consumer;J)I", "GetSelect_Ljava_util_function_Consumer_JHandler", ApiSince=33)]
public virtual int Select (Java.Util.Functions.IConsumer? action, long timeout);
[<Android.Runtime.Register("select", "(Ljava/util/function/Consumer;J)I", "GetSelect_Ljava_util_function_Consumer_JHandler", ApiSince=33)>]
abstract member Select : Java.Util.Functions.IConsumer * int64 -> int
override this.Select : Java.Util.Functions.IConsumer * int64 -> int

매개 변수

action
IConsumer

수행할 작업

timeout
Int64

양수인 경우 채널이 준비될 때까지 timeout 기다리는 동안 최대 밀리초 단위로 차단합니다. 0이면 무기한 차단하고 음수가 아니어야 합니다.

반환

사용된 고유 키 수(0일 수 있음)

특성

설명

해당 채널이 I/O 작업에 사용할 준비가 된 키에서 작업을 선택하고 수행합니다.

이 메서드는 차단 선택 작업을 수행합니다. 하나 이상의 채널을 선택하거나, 이 선택기 #wakeup wakeup 메서드를 호출하거나, 현재 스레드가 중단되거나, 지정된 시간 제한 기간이 먼저 오는 경우에만 운영 체제 쿼리에서 해제됩니다.

지정된 작업의 메서드는 키의 Consumer#accept(Object) accept 관심 집합으로 식별된 작업을 수행할 준비가 된 각 채널에 대한 키를 사용하여 호출됩니다. 메서드는 accept 동일한 키에 대해 두 번 이상 호출될 수 있지만, 위에서 설명한 대로 채널이 준비되는 작업의 하위 집합이 포함된 준비 작업 집합을 사용하여 호출할 수 있습니다. accept 선택기 및 선택한 키 집합에서 동기화되는 동안 메서드가 호출됩니다. 이러한 개체에서도 동기화되는 다른 스레드와의 교착 상태를 방지하려면 주의해야 합니다. 선택 작업은 일반적으로 재진입되지 않으므로 작업이 동일한 선택기에서 선택 작업을 시도하지 않도록 주의해야 합니다. 재진입 선택 작업을 시도할 때의 동작은 구현에 따라 지정되지 않습니다. 작업이 닫히면 작업이 완료되면 선택기가 ClosedSelectorException throw됩니다. 이 작업은 선택기에서 등록된 채널을 닫는 것을 금지하거나 키를 취소하거나 키의 관심 집합을 변경하는 것을 금지하지 않습니다. 채널이 선택되었지만 해당 키가 취소되었거나 키에 대한 작업이 수행되기 전에 해당 관심 집합이 변경된 경우 동작이 호출되는지 여부와 관련된 구현입니다(키로 SelectionKey#isValid() invalid 호출될 수 있음). 작업에서 throw된 예외는 호출자에게 릴레이됩니다.

이 메서드는 실시간 보장을 제공하지 않습니다. 메서드를 호출하는 것처럼 시간 제한을 예약합니다 Object#wait(long) .

11에 추가되었습니다.

에 대한 java.nio.channels.Selector.select(java.util.function.Consumer<java.nio.channels.SelectionKey>, long)Java 설명서

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

적용 대상

Select(Int64)

해당 채널이 I/O 작업에 사용할 준비가 된 키 집합을 선택합니다.

[Android.Runtime.Register("select", "(J)I", "GetSelect_JHandler")]
public abstract int Select (long timeout);
[<Android.Runtime.Register("select", "(J)I", "GetSelect_JHandler")>]
abstract member Select : int64 -> int

매개 변수

timeout
Int64

양수인 경우 채널이 준비될 때까지 timeout 기다리는 동안 최대 밀리초 단위로 차단합니다. 0이면 무기한 차단하고 음수가 아니어야 합니다.

반환

준비 작업 집합이 업데이트된 키 수(0일 수 있음)

특성

예외

선택기가 닫혀 있으면 입니다.

지정된 시간 제한 인수가 0보다 작은 경우

I/O 오류가 발생하면

설명

해당 채널이 I/O 작업에 사용할 준비가 된 키 집합을 선택합니다.

이 메서드는 차단 선택 작업을 수행합니다. 하나 이상의 채널을 선택하거나, 이 선택기 #wakeup wakeup 메서드를 호출하거나, 현재 스레드가 중단되거나, 지정된 시간 제한 기간이 만료된 후에만 반환됩니다.

이 메서드는 실시간 보장을 제공하지 않습니다. 메서드를 호출하는 것처럼 시간 제한을 예약합니다 Object#wait(long) .

에 대한 java.nio.channels.Selector.select(long)Java 설명서

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

적용 대상

Select()

해당 채널이 I/O 작업에 사용할 준비가 된 키 집합을 선택합니다.

[Android.Runtime.Register("select", "()I", "GetSelectHandler")]
public abstract int Select ();
[<Android.Runtime.Register("select", "()I", "GetSelectHandler")>]
abstract member Select : unit -> int

반환

준비 작업 집합이 업데이트된 키 수(0일 수 있음)

특성

예외

I/O 오류가 발생하면

선택기가 닫혀 있으면 입니다.

설명

해당 채널이 I/O 작업에 사용할 준비가 된 키 집합을 선택합니다.

이 메서드는 차단 선택 작업을 수행합니다. 하나 이상의 채널을 선택하거나, 이 선택기 #wakeup wakeup 메서드가 호출되거나, 현재 스레드가 중단된 후에만 반환됩니다.

에 대한 java.nio.channels.Selector.select()Java 설명서

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

적용 대상

Select(IConsumer)

해당 채널이 I/O 작업에 사용할 준비가 된 키에서 작업을 선택하고 수행합니다.

[Android.Runtime.Register("select", "(Ljava/util/function/Consumer;)I", "GetSelect_Ljava_util_function_Consumer_Handler", ApiSince=33)]
public virtual int Select (Java.Util.Functions.IConsumer? action);
[<Android.Runtime.Register("select", "(Ljava/util/function/Consumer;)I", "GetSelect_Ljava_util_function_Consumer_Handler", ApiSince=33)>]
abstract member Select : Java.Util.Functions.IConsumer -> int
override this.Select : Java.Util.Functions.IConsumer -> int

매개 변수

action
IConsumer

수행할 작업

반환

사용된 고유 키 수(0일 수 있음)

특성

설명

해당 채널이 I/O 작업에 사용할 준비가 된 키에서 작업을 선택하고 수행합니다.

이 메서드는 차단 선택 작업을 수행합니다. 하나 이상의 채널이 선택되거나, 이 선택기 #wakeup wakeup 메서드가 호출되거나, 현재 스레드가 중단되는 경우에만 운영 체제 쿼리에서 해제됩니다.

이 메서드는 무기한 차단할 시간 제한이 0 있는 2-arg #select(Consumer, long) select 메서드를 호출하는 것과 같습니다.

11에 추가되었습니다.

에 대한 java.nio.channels.Selector.select(java.util.function.Consumer<java.nio.channels.SelectionKey>)Java 설명서

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

적용 대상