📚 Computer Science/OS
[운영체제] 동기와 비동기, 블로킹과 논블로킹
ryang x2
2023. 2. 14. 16:37
728x90
반응형
동기(Synchronous)
- 현재 작업의 응답이 끝남과 동시에 다음 작업이 요청된다.
- 함수를 호출하는 곳에서 호출되는 함수가 결과를 반환할 때까지 기다린다.
- 작업 완료 여부를 계속해서 확인한다.
비동기(Asynchronous)
- 현재 작업의 응답이 끝나지 않은 상태에서 다음 작업이 요청된다.
- 함수를 호출하는 곳에서 결과를 기다리지 않고, 다른 함수(callback)에서 결과를 처리한다.
- 작업 완료 여부를 확인하지 않는다.

블로킹(Blocking)
- 제어권이 호출된 함수에게 넘어가서 호출된 함수 내에서 작업이 모두 끝난 후 호출한 함수에게 다시 제어권이 넘어온다.
- 작업이 완료된 후 새로운 작업을 수행할 수 있다.
논블로킹(Non-Blocking)
- 제어권이 계속 호출한 함수에 있기 때문에 작업의 완료여부와 관계없이 새로운 작업을 수행할 수 있다.

*참고사이트
728x90
반응형