1
누구나 자바로 예제를 제공하거나, 소켓에서 비동기 적으로 줄을 읽고 각 줄을 BlockingQueue에 넣는 클래스를 구현하는 것에 대한 조언을 할 수있다. 소켓이 연결되어 있고 BlockingQueue 및 소비자가 이미 있다고 가정합니다.소켓에서 줄을 읽어서 BlockingQueue에 넣는다.
편집 : 한 가지 더, 일정 기간 사용하지 않으면 타임 아웃하고 명령을 즉시 중지 할 수 있어야합니다.
숙제가 아니기 때문에이 작업을 수행하고 안정적으로 수행하는 방법에 대한 완전한 예제를 찾을 수 없었습니다.
대단히 감사합니다.
은 간단한데하지만 시간 제한 및 즉시 멈출 수있는 방법에 대해 :
이런 식으로 뭔가 ... 당신은 '에서'는의 DataInputStream을 가정? – Jack
@ 잭 Ok 그래서 연결 시간 초과 또는 오류가 발생하면 EOFException 또는 IO 예외가 발생합니다. 이것들이 잡히고 루프가 끊어집니다. run() 메서드가 종료되면 스레드가 더 이상 실행되지 않습니다. 예제에서 우리가 종료하기 전에 run 메소드에서 마지막으로해야 할 일은 프로세서 스레드를 인터럽트하는 것입니다. 이 실행 메소드를 실행중인 스레드에서 .interrupt를 호출하여 '즉시'중지 할 수 있습니다. – RedNotebook
답변 만 받으실 수 있습니다. – Jack