Blocking, NonBlocking
- 블록킹, 넌블록킹의 분류 기준은 대기(waiting, sleeping) 여부이다.
- 블록킹(blocking)
- 성공 또는 실패할 때 까지 대기 하므로 항상 성공 또는 실패의 두가지 리턴 상태가 존재한다.
- 넌 블록킹(Non
- 대기가 존재하지 않으므로 작업 요청 후 성공이든 실패든 무조건 즉시 처리하고 리턴한다.
- 반환 패턴은 성공, 실패, 부분성공으로 볼 수 있으며, 기능에 따라 부분성공은 지원하지 않을 수 있다.
- ex)
- send 함수 호출 -> 소켓의 송신 버퍼에 빈공간이 없는 경우
- Blocking
- 버퍼에 빈공간이 확보될 때까지 대기
- Non Blocking
- 즉시 실패
- 송신 요청된 버퍼 크기 > 버퍼 공간 인 경우
- 부분 성공으로 리턴
Synchronous, Asynchronus
- 동기, 비동기의 분류 기준은 순서(order) 이다.
- 동기(Synchronous)
- 순서대로 처리하는 것이다.
- in-order로 처리되는 형태를 동기 모델이라고 부른다.
- 비동기(Asynchronous)
- 처리의 순서가 보장되지 않는 것이다.
- out of order로 처리되는 형태를 비동기 모델이라고 부른다.
'Dev' 카테고리의 다른 글
. 으로 시작하는 파일 생성하기 (.gitignore) (0) | 2018.06.27 |
---|---|
[WinSCP] 드래그 앤 드롭 다운로드 설정 (1) | 2018.06.22 |
dll 파일에 버전 정보 넣기 (0) | 2018.05.18 |
[InstallShield] 스크립트에서 재배포 패키지 설치하기 (0) | 2018.04.04 |
[GIT] 로컬 git 내용을 github에 push 하기 (0) | 2018.02.06 |