728x90
동기와 비동기에 대한 이해
- 동기 입출력
-> 입출력 함수의 호출 및 반환의 시기가 데이터 전송의 시작 및 완료의 시기가 일치
-> 함수가 호출되는 동안에는 다른 작업을 할 수 없음
- 비동기 입출력
-> 입출력 함수의 호출 시점이 데이터 전송의 시작인 점은 같지만 반환의 시점이 완료의 시기와는 같지 않음
-> 함수가 호출되고 반환되고 내부적으론 계속해서 입출력이 진행
동기 / 비동기 Notification 입출력 모델
- 동기 Notification
-> 입출력의 알림이 동기적으로 이루어짐
-> select : 입출력이 완료 또는 가능한 상태가 되었을 때 반환을 하는 대표적인 동기 Notification 모델
- 비동기 Notification
-> 입출력의 알림이 비동기적으로 이루어짐
-> WSAEventSelect : selct 함수의 비동기 버전
-> 입출력 완료에 상관없이 바로 반환하기 때문에 입출력의 완료 확인을 거치는 과정이 필요
728x90
'Programming > Network' 카테고리의 다른 글
열혈 TCP/IP 22-1. Overlapped IO 모델의 이해 (0) | 2021.04.25 |
---|---|
열혈 TCP/IP 21-2. 비동기 Notification IO 모델의 이해와 구현 (0) | 2021.04.13 |
열혈 TCP/IP 20-2. 커널모드 동기화 기법 (0) | 2021.04.11 |
열혈 TCP/IP 20-1. 동기화 기법의 분류와 CRITICAL_SECTION 동기화 (0) | 2021.04.11 |
열혈 TCP/IP 19-3. 커널 오브젝트의 두 가지 상태 (0) | 2021.04.11 |