스레드 병렬 처리

    [Java] TCP 네트워킹 - (4)스레드 병렬 처리

    [Java] TCP 네트워킹 - (4)스레드 병렬 처리

    📌스레드 병렬 처리 연결 수락을 위해 ServerSocket의 accept()을 실행하거나, 서버 연결 요청을 위해 socket 생성자 또는 connect()를 실행할 경우에는 해당 작업이 완료되기 전까지 블로킹(blocking)된다. 데이터 통신을 할 때에도 마찬가지인데 InputStream의 read() 메소드는 상대방이 데이터를 보내기 전까지 블로킹되고, OutputStream의 wrtie() 메소드는 데이터를 완전하게 보내기 전까지 블로킹 된다. 즉 말하고자 하는 바는 ServerSocket과 Socket은 동기(블로킹) 방식으로 구동된다. 만약 서버를 실행시키는 main 스레드가 직접 입출력 작업을 담당하게 되면 입출력이 완료될 때 까지 다른 작업을 할 수 없게 된다. 서버 어플리케이션은 지속적..