2015-02-03 3 views
0

필자는 충분히 최신 Linux 버전에서 기본 셀렉터가 epoll 구현을 사용하는 클래스 인 반면, 이전 버전 (이전 커널에서는 확실하지 않음)에서 셀렉트 또는 폴 기반 구현이 사용됩니다.어떤 Java Selector 클래스를 사용할 수 있습니까?

문서에 따르면 java.nio.channels.spi.SelectorProvider 속성을 설정하여 기본 선택기 클래스를 무시할 수도 있습니다.

제공되는 (기본값이 아닌) 클래스의 이름으로 속성을 설정하여 non-epoll 구현을 강제로 수행 할 수 있습니까? 셀렉터 역할을 할 수있는 표준 java 라이브러리의 일부로 제공되는 클래스는 무엇입니까?

마지막 프로그램이 크로스 플랫폼에서 잘 작동하는 것은 중요하지 않습니다. 이는 단순히 제어 된 환경에서 두 구현 간의 성능을 비교하기위한 것입니다.

답변

0

JRE 당 하나의 Selector 만 구현됩니다. 직접 작성하지 않는 한 결합하거나 대체 할 수 없으므로 기본 제공 업체의 SocketChannels과 함께 사용할 수 없으므로 해당 제공자도 구현해야하므로 ServerSocketChannels

관련 문제