Operation System
Sync & Async
by orioncsy
2023. 2. 20.
Sync & Async
Sync
개념
- 한 자원에 대한 동시 접근을 제한하는 방식
- 직렬적으로 업무를 순차적으로 처리
- 어떤 작업이 수행 중이면 다른 작업은 대기
장점
단점
Async
개념
- 한 자원에 대한 동시 접근을 허용하는 방식
- 병렬적으로 업무를 처리
- 업무가 끝나지 않더라도 다른 작업을 실행
장점
- 업무가 끝나지 않더라도 다른 작업을 하기 때문에 처리 속도가 효율적이다.
단점
Sync & Async vs Blocking & non-blocking
특징
- 특정 작업이 return하여 작업을 완료하는 지를 확인하는 방식
- Sync의 경우 작업을 완료하면 다른 작업을 진행
- Async의 경우 완료 여부와 상관없이 다른 작업 진행
Blocking & non-blocking
- 다른 작업을 호출할 때 제어권의 처리 여부에 따라 나뉜다.
- blocking의 경우에는 다른 작업에 제어권을 넘겨준다.
- non-blocking은 다른 작업에 제어권을 넘겨주지 않는다.
Sync & blocking
- 하나의 작업에서 다른 작업을 호출하면 제어권을 넘겨주고 완료되면 다른 작업 진행
Sync & non-blocking
- 하나의 작업에서 다른 작업을 호출하면 제어권을 넘겨 주지 않고 다른 작업이 완료되는지 계속 확인
Async & blocking
- 하나의 작업에서 다른 작업을 호출하면 제어권을 넘겨 주고 다른 작업이 완료되는지 확인하지 않는다.
- 다른 작업이 완료되는지 확인하지 않지만 제어권을 넘겨줘서 Sync & blocking과 같은 효과이다.
Async & non-blocking
- 하나의 작업에서 다른 작업을 호출하면 제어권을 넘주지 않고 작업이 완료되는지 확인하지 않는다.
- 결국 하나의 작업을 하다 다른 작업을 동시에 진행 가능
Reference
[데이터 처리] 동기식 비동기식 Synchronous Asynchronous
블로킹 Vs. 논블로킹, 동기 Vs. 비동기