동기(synchronous : 동시에 일어나는)
- 동기는 말 그대로 동시에 일어난다는 뜻입니다. 요청과 그 결과가 동시에 일어난다는 약속인데요. 바로 요청을 하면 시간이 얼마가 걸리던지 요청한 자리에서 결과가 주어져야 합니다.
-> 요청과 결과가 한 자리에서 동시에 일어남
-> A노드와 B노드 사이의 작업 처리 단위(transaction)를 동시에 맞추겠다.
비동기(Asynchronous : 동시에 일어나지 않는)
- 비동기는 동시에 일어나지 않는다를 의미합니다. 요청과 결과가 동시에 일어나지 않을거라는 약속입니다.
-> 요청한 그 자리에서 결과가 주어지지 않음
-> 노드 사이의 작업 처리 단위를 동시에 맞추지 않아도 된다.
어떤 루틴을 완전히 끝내고 제어를 반납하면 동기식
동작이 안 끝났어도 일단 제어권을 반납한 후 지 할일 계속하면 비동기식
Blocking Vs Non-Blocking 차이점
- 가장 큰 차이점은 프로그램이 바로 실행할 수 있는 유무가 다르다.
Synchronous Vs Asynchronous 차이점
- 가장 큰 차이점은 결과물을 가저오는 시점이 다르다.
Non-Blocking Vs ASynchronous 차이점
System Call이 즉시 Return될 때 데이터의 포함 유무
-
Asynchronous은 요청에 처리 완료와 관계없이 응답한다. 이후 운영체제에서 응답할 준비가 되면 응답한다.
-
Non-Blocking은 요청에 처리할 수 있으면 바로 응답하고 아니면 Error를 반환한다.
Blocking Vs Synchronous 차이점
Wait Queue 유무
-
Blocking은 System Call의 Return을 기다리는 동안 필수로 Wait Queue에 머문다.
-
Synchronous은 System Call의 Return을 기다리는 동안 Wait Queue에 머물 수도 아닐 수도 있다.
'Student > 모여서 각자 코딩' 카테고리의 다른 글
19년도 여름방학 모각코 7일차 회고 0718 (0) | 2019.07.18 |
---|---|
19년도 여름방학 모각코 7일차 목표 0718 (0) | 2019.07.18 |
19년도 여름방학 모각코 6일차 목표 0712 (0) | 2019.07.12 |
19년도 여름방학 모각코 5일차 회고 0711 (0) | 2019.07.11 |
19년도 여름방학 모각코 5일차 목표 0711 (0) | 2019.07.11 |