From 8a780bfb5764cf5271be0b77951afbcd6ee5477d Mon Sep 17 00:00:00 2001 From: PraiseBak <60121346+PraiseBak@users.noreply.github.com> Date: Tue, 17 Jun 2025 18:08:12 +0900 Subject: [PATCH 1/2] =?UTF-8?q?docs:=20Blocking=20=EB=B0=A9=EC=8B=9D=20?= =?UTF-8?q?=EC=84=9C=EB=B2=84=20=EB=AA=A8=EB=8D=B8=EC=97=90=20=EB=8C=80?= =?UTF-8?q?=ED=95=9C=20=EC=84=A4=EB=AA=85=20=EB=AC=B8=EC=9E=A5=EC=9D=84=20?= =?UTF-8?q?=EB=AA=85=ED=99=95=ED=9E=88=20=EA=B0=9C=EC=84=A0=ED=96=88?= =?UTF-8?q?=EC=8A=B5=EB=8B=88=EB=8B=A4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Thread가 I/O 작업 동안 BLOCK 상태에 머무는 구조를 보다 직관적으로 설명 - "클라이언트 요청 → Thread 생성 → I/O 대기 → Thread 증가 → 컨텍스트 스위칭 증가" 흐름을 단계별로 기술 - 기존 문장에서 다소 중복된 표현 제거하고, 원인-결과 구조를 명확히 전달 --- .../Network/[Network] Blocking Non-Blocking IO.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Computer Science/Network/[Network] Blocking Non-Blocking IO.md b/Computer Science/Network/[Network] Blocking Non-Blocking IO.md index 498804ea..6abb426f 100644 --- a/Computer Science/Network/[Network] Blocking Non-Blocking IO.md +++ b/Computer Science/Network/[Network] Blocking Non-Blocking IO.md @@ -22,9 +22,11 @@
- `여러 Client 가 접속하는 서버를 Blocking 방식으로 구현하는 경우` -> I/O 작업을 진행하는 작업을 중지 -> 다른 Client가 진행중인 작업을 중지하면 안되므로, client 별로 별도의 Thread를 생성해야 함 -> 접속자 수가 매우 많아짐 + `여러 Client 가 접속하는 서버를 Blocking 방식으로 구현하는 경우` -> + 쓰레드는 I/O를 위해 `대기상태`로 돌입 -> + I/O가 완료되기 까지 `대기` -> 쓰레드가 반환되지않고 그 사이 client 요청에 대해서 `별도의 Thread를 생성`함 -> 접속자 수가 매우 많아질수록 `쓰레드 갯수` 증가 - 이로 인해, 많아진 Threads 로 *컨텍스트 스위칭 횟수가 증가함,,, 비효율적인 동작 방식* + 이로 인해, 많아진 쓰레드로 `컨텍스트 스위칭` 횟수가 증가 = 비효율적으로 동작함
From d741f56de581f3be0bf2015a400a2627092c5066 Mon Sep 17 00:00:00 2001 From: PraiseBak <60121346+PraiseBak@users.noreply.github.com> Date: Tue, 17 Jun 2025 18:12:41 +0900 Subject: [PATCH 2/2] =?UTF-8?q?docs:=20=EA=B0=80=EB=8F=85=EC=84=B1=20?= =?UTF-8?q?=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Network/[Network] Blocking Non-Blocking IO.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Computer Science/Network/[Network] Blocking Non-Blocking IO.md b/Computer Science/Network/[Network] Blocking Non-Blocking IO.md index 6abb426f..26b81148 100644 --- a/Computer Science/Network/[Network] Blocking Non-Blocking IO.md +++ b/Computer Science/Network/[Network] Blocking Non-Blocking IO.md @@ -22,9 +22,8 @@
- `여러 Client 가 접속하는 서버를 Blocking 방식으로 구현하는 경우` -> - 쓰레드는 I/O를 위해 `대기상태`로 돌입 -> - I/O가 완료되기 까지 `대기` -> 쓰레드가 반환되지않고 그 사이 client 요청에 대해서 `별도의 Thread를 생성`함 -> 접속자 수가 매우 많아질수록 `쓰레드 갯수` 증가 + `여러 Client 가 접속하는 서버를 Blocking 방식으로 구현하는 경우` -> 쓰레드는 I/O를 위해 `대기상태`로 돌입 -> I/O가 완료되기 까지 `대기` + -> 쓰레드가 반환되지않고 그 사이 client 요청에 대해서 `별도의 Thread를 생성`함 -> 접속자 수가 매우 많아질수록 `쓰레드 갯수` 증가 이로 인해, 많아진 쓰레드로 `컨텍스트 스위칭` 횟수가 증가 = 비효율적으로 동작함