[Java] HTTP 서버 만들기: 스레드 풀(ThreadPool) 적용
·
JAVA
자바로 구현한 HTTP 서버에 스레드 풀을 적용시켜보자 📌 서론 이전 글에서 Java를 사용해 HTTP 요청을 처리하는 서버에 멀티스레딩 기능을 추가했다. 작성한 MultiThreadHttpServer 클래스는 각각의 요청에 대해 새로운 스레드를 생성하고 소멸시키는 방식을 채택하고 있다. 이 방법은 작은 규모의 서버에는 충분히 효과적일 수 있지만, 대규모 서버나 높은 트래픽을 처리하는 환경에서는 다수의 문제점을 야기할 수 있다. 예를 들어, 자원 관리의 복잡성 증가, 성능 저하, 그리고 스레드 생성과 소멸에 따른 오버헤드가 있다. 이에, 이번 글에서는 이러한 문제점을 해결하기 위해 '스레드 풀'을 적용하는 방법을 소개하려고 한다. 스레드 풀을 사용하면, 서버의 성능을 크게 향상시키고 자원 사용을 최적화할..
[Java] HTTP 서버 만들기: 멀티스레딩 적용
·
JAVA
[Java] http 요청 멀티스레딩 적용하기 📌 서론 서버가 동시에 여러 클라이언트의 요청을 효율적으로 처리할 수 있게 하기 위해 멀티스레딩을 적용하는 건 매우 중요하다. 저번 포스트에서 Java를 사용하여 HTTP 요청을 처리하는 간단한 서버를 구축했다. 이번 포스트에서는 만들었던 서버에 멀티스레딩 기능을 추가해 보도록 하자 이 글을 쉽게 이해하기 위해서 우리는 먼저 각 클라이언트 요청을 처리하는 핵심 클래스인 ClientHandler를 살펴볼 것이다. 이 클래스를 먼저 보는 것이 서버의 기본 작동 원리와 요청 처리 메커니즘을 이해하는 데 필수적이기 때문이다. 그 후에, ClientHandler 클래스가 어떻게 멀티스레딩 환경에서 동작하는지 보여주는 MultiThreadHttpServer 클래스를 살..