|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.nio.channels.Selector
java.nio.channels.spi.AbstractSelector
public abstract class AbstractSelector
셀렉터의 베이스 구현 클래스입니다.
이 클래스는, 선택 조작의 인터럽트의 구현에 필요한 저레벨의 기구를 캡슐화합니다. 구상 셀렉터 클래스는, 무기한으로 블록 될 가능성이 있는 입출력 조작의 호출전에 이 클래스는, 셀렉터가 삭제된 키 세트를 관리하는 메소드나, 채널의 키 세트로부터 키를 삭제하는 메소드도 정의합니다. 또, 실제로 채널을 등록할 때에 선택 가능 채널의
begin
메소드를, 호출 후에 end
메소드를 각각 호출할 필요가 있습니다. 덧붙여end
메소드가 반드시 불려 가도록(듯이),try ... finally 블록내에서 이러한 메소드를 사용하도록 해 주세요.
try {
begin();
// Perform blocking I/O operation here
...
} finally {
end();
}
register
메소드에 의해 불려 가는 register
메소드를 선언합니다.
생성자 의 개요 | |
---|---|
protected |
AbstractSelector (SelectorProvider provider)
이 클래스의 새로운 인스턴스를 초기화합니다. |
메소드의 개요 | |
---|---|
protected void |
begin ()
무기한으로 블록 되는 입출력 조작의 개시를 마크 합니다. |
protected Set <SelectionKey > |
cancelledKeys ()
이 셀렉터가 삭제된 키 세트를 가져옵니다. |
void |
close ()
이 셀렉터를 클로즈 합니다. |
protected void |
deregister (AbstractSelectionKey key)
채널의 키 세트로부터 지정된 키를 삭제합니다. |
protected void |
end ()
무기한으로 블록 되는 입출력 조작의 종료를 마크 합니다. |
protected abstract void |
implCloseSelector ()
이 셀렉터를 클로즈 합니다. |
boolean |
isOpen ()
이 셀렉터 상태가 오픈일지 어떨지를 판단합니다. |
SelectorProvider |
provider ()
이 채널의 작성원프로바이더를 돌려줍니다. |
protected abstract SelectionKey |
register (AbstractSelectableChannel ch,
int ops,
Object att)
이 셀렉터로 지정된 채널을 등록합니다. |
클래스 java.nio.channels. Selector 로부터 상속된 메소드 |
---|
keys , open , select , select , selectedKeys , selectNow , wakeup |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
protected AbstractSelector(SelectorProvider provider)
메소드의 상세 |
---|
public final void close() throws IOException
이 셀렉터가 벌써 클로즈 하고 있는 경우, 이 메소드는 즉시 종료합니다. 그렇지 않은 경우는, 이 셀렉터를 클로즈 대상으로 해 마크 한 뒤, 클로즈 조작을 완료하기 위해서 implCloseSelector
메소드를 호출합니다.
Selector
내의 close
IOException
- 입출력 에러가 발생했을 경우protected abstract void implCloseSelector() throws IOException
이 메소드는, 셀렉터의 클로즈 처리를 실제로 실행하기 위해서 close
메소드에 의해 불려 갑니다. 이 메소드는, 셀렉터가 아직 클로즈 되지 않고, 향후 불려 갈 가능성이 없는 경우에 한정해 불려 갑니다.
이 메소드의 구현은, 이 셀렉터에 대한 선택 조작으로 블록 되고 있는 것 외의 thread를,wakeup
메소드를 호출했을 경우와 같이 즉시 종료할 필요가 있습니다.
IOException
- 셀렉터의 클로즈중에 입출력 에러가 발생했을 경우public final boolean isOpen()
Selector
의 기술:
Selector
내의 isOpen
public final SelectorProvider provider()
Selector
내의 provider
protected final Set <SelectionKey > cancelledKeys()
이 세트는, 동기화 되고 있는 경우에 한정해 사용 가능합니다.
protected abstract SelectionKey register(AbstractSelectableChannel ch, int ops, Object att)
이 메소드는, 이 셀렉터에 실제로 채널을 등록하기 위해서, 채널의 register
메소드에 의해 불려 갑니다.
ch
- 등록되는 채널ops
- 유효한 초기 대상 세트att
- 결과적으로 얻을 수 있는 키의 초기 첨부
protected final void deregister(AbstractSelectionKey key)
셀렉터는, 등록 해제하는 채널 마다 이 메소드를 호출할 필요가 있습니다.
key
- 삭제되는 선택 키protected final void begin()
이 셀렉터의 인터럽트를 구현하려면 ,상기에 나타낸 try ... finally 블록을 사용해, 이 메소드와 end
메소드를 페어로 호출할 필요가 있습니다.
이 메소드를 호출하면(자), 셀렉터에 대한 입출력 조작으로 블록 되고 있는 thread의 interrupt
메소드가 불려 갔을 경우에, 셀렉터의 wakeup
메소드가 불려 갑니다.
protected final void end()
이 셀렉터의 인터럽트를 구현하려면 ,상기에 나타낸 try ... finally 블록을 사용해, 이 메소드와 begin
메소드를 페어로 호출할 필요가 있습니다.
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.