Share via


SelectionKey 클래스

정의

를 사용하여 의 등록을 SelectableChannel 나타내는 토큰입니다 Selector.

[Android.Runtime.Register("java/nio/channels/SelectionKey", DoNotGenerateAcw=true)]
public abstract class SelectionKey : Java.Lang.Object
[<Android.Runtime.Register("java/nio/channels/SelectionKey", DoNotGenerateAcw=true)>]
type SelectionKey = class
    inherit Object
상속
SelectionKey
파생
특성

설명

를 사용하여 의 등록을 SelectableChannel 나타내는 토큰입니다 Selector.

선택기에서 채널을 등록할 때마다 선택 키가 만들어집니다. 키는 메서드를 #cancel cancel 호출하거나, 채널을 닫거나, 선택기를 닫아 취소될 때까지 유효합니다. 키를 취소해도 선택기에서 즉시 제거되지는 않습니다. 대신 다음 선택 작업 중에 제거를 위해 선택기 <i>canceled-key set</i> 에 추가됩니다. 해당 메서드를 호출 #isValid isValid 하여 키의 유효성을 테스트할 수 있습니다.

"opsets">

선택 키에는 정수 값으로 표시되는 두 개의 작업 집합 이 포함되어 있습니다. 작업 집합의 각 비트는 키 채널에서 지원하는 선택 가능한 작업의 범주를 표시합니다.

<ul>

<리튬>

관심 집합은 다음에 선택기의 선택 메서드 중 하나가 호출될 때 준비 상태를 테스트할 작업 범주를 결정합니다. 관심 집합은 키를 만들 때 지정된 값으로 초기화됩니다. 나중에 메서드를 #interestOps(int) 통해 변경할 수 있습니다.

</리튬>

<리튬>

준비 집합은 키의 선택기에서 키의 채널이 준비되도록 검색된 작업 범주를 식별합니다. 키를 만들 때 준비 집합이 0으로 초기화됩니다. 나중에 선택기에서 선택기에서 업데이트할 수 있지만 직접 업데이트할 수는 없습니다.

</리튬>

</ul>

선택 키의 준비 집합은 채널이 일부 작업 범주에 대해 준비되었음을 나타내지만 이러한 범주의 작업이 스레드에서 차단되지 않고 수행될 수 있다는 보장은 아닙니다. 준비 집합은 선택 작업이 완료된 직후에 정확할 가능성이 높습니다. 외부 이벤트 및 해당 채널에서 호출되는 I/O 작업에 의해 부정확해질 수 있습니다.

이 클래스는 알려진 모든 작업 집합 비트를 정의하지만 지정된 채널에서 지원되는 비트는 채널 유형에 따라 정확하게 달라집니다. 의 SelectableChannel 각 하위 클래스는 채널에서 SelectableChannel#validOps() validOps() 지원하는 작업만 식별하는 집합을 반환하는 메서드를 정의합니다. 키 채널에서 지원하지 않는 작업 집합 비트를 설정하거나 테스트하려고 하면 적절한 런타임 예외가 발생합니다.

일부 애플리케이션 관련 데이터를 선택 키와 연결해야 하는 경우가 많습니다. 예를 들어 상위 수준 프로토콜의 상태를 나타내고 해당 프로토콜을 구현하기 위해 준비 알림을 처리하는 개체입니다. 따라서 선택 키는 단일 임의 개체를 키에 첨부 할 수 있도록 지원합니다. 개체는 메서드를 #attach attach 통해 연결한 다음 나중에 메서드를 #attachment() attachment 통해 검색할 수 있습니다.

선택 키는 여러 동시 스레드에서 사용하기에 안전합니다. 선택 작업은 작업이 시작된 시점의 현재 관심 집합 값을 항상 사용합니다.

1.4에 추가되었습니다.

에 대한 Java 설명서입니다 java.nio.channels.SelectionKey.

이 페이지의 일부는 만들고 공유하며 에 설명된 조건에 따라 사용되는 작업을 기반으로 수정됩니다.

생성자

SelectionKey()

이 클래스의 instance 생성합니다.

SelectionKey(IntPtr, JniHandleOwnership)

JNI 개체의 관리형 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

필드

OpAccept
사용되지 않음.

소켓 허용 작업에 대한 작업 집합 비트입니다.

OpConnect
사용되지 않음.

소켓 연결 작업에 대한 작업 집합 비트입니다.

OpRead
사용되지 않음.

읽기 작업에 대한 작업 집합 비트입니다.

OpWrite
사용되지 않음.

쓰기 작업에 대한 작업 집합 비트입니다.

속성

Class

Object의 런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
Handle

기본 Android instance 대한 핸들입니다.

(다음에서 상속됨 Object)
IsAcceptable

이 키의 채널이 새 소켓 연결을 수락할 준비가 되었는지 테스트합니다.

IsConnectable

이 키의 채널이 소켓 연결 작업을 완료했는지 또는 완료하지 못했는지 테스트합니다.

IsReadable

이 키의 채널을 읽을 준비가 되었는지 테스트합니다.

IsValid

이 키가 유효한지 여부를 나타냅니다.

IsWritable

이 키의 채널이 작성할 준비가 되었는지 테스트합니다.

JniIdentityHashCode

를 사용하여 의 등록을 SelectableChannel 나타내는 토큰입니다 Selector.

(다음에서 상속됨 Object)
JniPeerMembers

를 사용하여 의 등록을 SelectableChannel 나타내는 토큰입니다 Selector.

PeerReference

를 사용하여 의 등록을 SelectableChannel 나타내는 토큰입니다 Selector.

(다음에서 상속됨 Object)
ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

메서드

Attach(Object)

지정된 개체를 이 키에 연결합니다.

Attachment()

현재 첨부 파일을 검색합니다.

Cancel()

선택기를 사용하여 이 키의 채널 등록을 취소할 것을 요청합니다.

Channel()

이 키를 만든 채널을 반환합니다.

Clone()

이 개체의 복사본을 만들고 반환합니다.

(다음에서 상속됨 Object)
Dispose()

를 사용하여 의 등록을 SelectableChannel 나타내는 토큰입니다 Selector.

(다음에서 상속됨 Object)
Dispose(Boolean)

를 사용하여 의 등록을 SelectableChannel 나타내는 토큰입니다 Selector.

(다음에서 상속됨 Object)
Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
GetHashCode()

개체의 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
InterestOps()

이 키의 관심 집합을 검색합니다.

InterestOps(Operations)

이 키의 관심 집합을 검색합니다.

InterestOpsAnd(Int32)

이 키의 관심 집합을 기존 관심 집합 및 지정된 값의 비트 교차("및")로 원자성으로 설정합니다.

InterestOpsOr(Int32)

이 키의 관심 집합을 기존 관심 집합 및 지정된 값의 비트 조합("또는")으로 원자적으로 설정합니다.

JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 Object)
NotifyAll()

이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다.

(다음에서 상속됨 Object)
ReadyOps()

이 키의 준비 작업 집합을 검색합니다.

Selector()

이 키를 만든 선택기를 반환합니다.

SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

(다음에서 상속됨 Object)
ToArray<T>()

를 사용하여 의 등록을 SelectableChannel 나타내는 토큰입니다 Selector.

(다음에서 상속됨 Object)
ToString()

개체의 문자열 표현을 반환합니다.

(다음에서 상속됨 Object)
UnregisterFromRuntime()

를 사용하여 의 등록을 SelectableChannel 나타내는 토큰입니다 Selector.

(다음에서 상속됨 Object)
Wait()

현재 스레드가 깨어날 때까지 대기하게 합니다( 일반적으로 <알림을 받><거나 <>중단/>em>)합니다<.

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 깨어날 때까지 대기하게 합니다. 일반적으로 <>알림을 받<거나 <중단</>내보내>>거나 일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 깨어날 때까지 대기하게 합니다. 일반적으로 <>알림을 받<거나 <중단</>내보내>>거나 일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

IJavaPeerable.Disposed()

를 사용하여 의 등록을 SelectableChannel 나타내는 토큰입니다 Selector.

(다음에서 상속됨 Object)
IJavaPeerable.DisposeUnlessReferenced()

를 사용하여 의 등록을 SelectableChannel 나타내는 토큰입니다 Selector.

(다음에서 상속됨 Object)
IJavaPeerable.Finalized()

를 사용하여 의 등록을 SelectableChannel 나타내는 토큰입니다 Selector.

(다음에서 상속됨 Object)
IJavaPeerable.JniManagedPeerState

를 사용하여 의 등록을 SelectableChannel 나타내는 토큰입니다 Selector.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

를 사용하여 의 등록을 SelectableChannel 나타내는 토큰입니다 Selector.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

를 사용하여 의 등록을 SelectableChannel 나타내는 토큰입니다 Selector.

(다음에서 상속됨 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

를 사용하여 의 등록을 SelectableChannel 나타내는 토큰입니다 Selector.

(다음에서 상속됨 Object)

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

를 사용하여 의 등록을 SelectableChannel 나타내는 토큰입니다 Selector.

GetJniTypeName(IJavaPeerable)

를 사용하여 의 등록을 SelectableChannel 나타내는 토큰입니다 Selector.

적용 대상