728x90
블로킹(Blocking)
- 개념: 블로킹 방식은 작업이 완료될 때까지 해당 작업을 기다리는 방식입니다. 특정 I/O 작업이 완료되기 전까지는 프로그램이 다른 작업을 진행하지 못하고 대기합니다.
- 특징: 하나의 작업이 끝날 때까지 기다리므로, 코드가 순차적으로 실행됩니다. 이 방식은 단순하지만, 작업이 오래 걸릴 경우 전체 프로세스가 느려질 수 있습니다.
- 장점: 구현이 상대적으로 간단하고 직관적입니다.
- 단점: 작업이 지연되면 CPU가 대기 상태로 전환되어 효율성이 떨어집니다. 특히 대규모 요청 처리에 부적합합니다.
논블로킹(Non-blocking)
- 개념: 논블로킹 방식은 작업을 요청한 후 결과를 기다리지 않고, 다른 작업을 진행하는 방식입니다. 요청된 작업이 끝나면 결과를 비동기적으로 받아옵니다.
- 특징: 작업이 완료될 때까지 기다리지 않기 때문에, 여러 작업을 동시에 처리하거나 대기 없이 빠르게 작업을 넘길 수 있습니다.
- 장점: CPU 효율성을 높이고, 많은 요청을 동시에 처리하는 데 유리합니다.
- 단점: 구현이 복잡해질 수 있으며, 코드가 비동기적 흐름을 따르기 때문에 이해하기 어려울 수 있습니다.
728x90
'CS > 네트워크' 카테고리의 다른 글
[네트워크] 공인 IP와 사설 IP (0) | 2024.10.30 |
---|---|
[네트워크] Stateful vs Stateless (0) | 2024.10.30 |
[네트워크] 쿠키와 세션 차이(Cookie & Session) (0) | 2024.10.30 |
[네트워크] DNS(Domain Name System) (0) | 2024.10.30 |
[네트워크] GET방식과 POST방식의 차이 (1) | 2024.10.30 |