안녕하세요! 멀티쓰레드가 필요한 경우는 처리해야할 데이터 혹은 서버와 같이 동시 다발적으로 트래픽이 발생할 수 있는 상황에서 필요하게 됩니다. 데이터 처리와 관련되서 예를 들어 보겠습니다. 만약에 1개의 쓰레드가 데이터 1개를 처리할때 1분이 걸린다고 가정하고 하루에 이 데이터가 100개씩 쌓인다고 가정해보면 하루에 100분만 쓰면 되는거니 이때는 멀티쓰레드가 필요하지 않습니다. 그치만 만약 이 데이터가 1440 개 이상 쌓이면 어떻게 될까요? 1440분 즉, 24시간안에 데이터를 처리 못하게 될 것이고 계속해서 데이터가 쌓여 데이터처리가 지연되는 결과를 발생하게 됩니다. 이번에는 client 로부터 요청을 받는 서버 관점으로 예를 들어보겠습니다. client 가 요청을 할때 쓰레드가 이 요청을 처리하는데 1초가 걸린다고 가정하겠습니다. 만약 100명의 client 가 동시에 요청을 하게 되면, 쓰레드 1개가 100개를 순차적으로 요청을 처리해야하기 때문에 마지막 100번째 요청을 했던 client 는 100초를 기다려야 자신의 요청이 처리 될 수 있습니다. 만약 멀티쓰레드로 쓰레드가 100개 운영되고 있었다면 이 100명의 요청을 각 쓰레드들이 1개씩 받아서 처리하게 될 것이고 모든 client 가 1초만에 응답을 받을 수 있게 됩니다. 결론적으로 대량의 데이터나 트래픽을 빠르게 처리하기 위해서 멀티쓰레드를 사용한다고 생각해주시면 되겠습니다.

다음 내용이 궁금하다면?

지금 간편 가입하고 다음 내용을 확인해 보세요!

또는

이미 회원이신가요?

2022년 12월 2일 오전 2:01

 • 

저장 14조회 2,507

댓글 0