Blocking / Non-blocking
- Blocking: 호출된 함수가 완료될 때까지 호출한 함수 실행을 멈춤, 제어권이 호출된 함수에 있음
- Non-blocking: 함수 호출 시 호출된 함수가 즉시 제어권 반환, 호출한 함수는 제어권 가지고 계속 실행
Synchronous / Asynchronous
- Synchronous (동기): 작업 완료 여부 따져 작업들이 순차적으로 실행, 완료 여부 따로 확인
- Asynchronous (비동기): 요청한 작업에 대해 완료 여부를 따지지 않고 서로 독립적으로 실행, 완료 시 콜백 반환
결합된 형태
- Blocking Synchronous: 전통적인 동기적 함수 호출, 호출된 함수가 완료될 때까지 대기
- Non-blocking Synchronous: 호출된 작업은 즉시 반환되지만,폴링을 통해 호출된 함수의 상태를 반복적으로 확인
- Blocking Asynchronous: 완료되기 전까지는 다른 작업으로 넘어가지 않고, 콜백이 호출될 때까지 대기(사용 X)
- Non-blocking Asynchronous: 작업을 시작하고 즉시 반환하여 호출한 함수가 다른 작업을 계속 수행, 완료 시 콜백
'네트워크' 카테고리의 다른 글
로드 밸런싱 (0) | 2024.03.05 |
---|---|
HTTP & HTTPS (0) | 2024.03.05 |
TCP/IP 흐름제어, 혼잡제어 (0) | 2024.03.05 |
TCP와 UDP (0) | 2024.03.01 |
TCP Handshak (0) | 2024.03.01 |