2017-11-14 19 views
1

, 우리 누구죠 하나가 나를 혼란하게 연결을 허용해야한다는 것, 그래서 내가 거기 라인 269에서 source code의 sun.nio.ch.UnixAsynchronousServerSocketChannelImpl 읽기 덧글 체크 및 동시에 허용하지 않도록 깃발을, 그래서 누군가가 현재 수락을 방지해야한다고 말해 줄 수 있니? OS의 제한 사항입니까, 현재 연결을 수락 할 필요가 없습니다. 미리 감사드립니다.AsynchronousServerSocketChannel 동시 수용 공식 <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/AsynchronousServerSocketChannel.html" rel="nofollow noreferrer">doc</a>의 예에서

+0

conection 요청을 받으면 다중 소켓 인스턴스 또는 스트림을 만드는 것을 방지한다고 가정합니다. 그래서 문제가 concurently 받아 들일 것입니다. ** NIO **의 처리 방법을 확인하십시오. 단일 [Selector] (https://docs.oracle.com/javase/8/docs/api/java/nio/channels/Selector) 만 있어야합니다. html) 스레드가 연결을 허용하지만 데이터를 처리 할 다중 스레드가있을 수 있습니다. – gusto2

답변

0

동시성과 비동기가 충돌합니다. 비동기 I/O를 통한 연결을 수락하면 다른 비동기 accept()을 즉시 예약해야합니다.