📚 Computer Science/OS

[운영체제] 동기와 비동기, 블로킹과 논블로킹

ryang x2 2023. 2. 14. 16:37
728x90
반응형

동기(Synchronous)

- 현재 작업의 응답이 끝남과 동시에 다음 작업이 요청된다. 

- 함수를 호출하는 곳에서 호출되는 함수가 결과를 반환할 때까지 기다린다.

- 작업 완료 여부를 계속해서 확인한다.

 

 

비동기(Asynchronous)

- 현재 작업의 응답이 끝나지 않은 상태에서 다음 작업이 요청된다. 

- 함수를 호출하는 곳에서 결과를 기다리지 않고, 다른 함수(callback)에서 결과를 처리한다.

- 작업 완료 여부를 확인하지 않는다.

 

 

블로킹(Blocking)

- 제어권이 호출된 함수에게 넘어가 호출된 함수 내에서 작업이 모두 끝난 후 호출한 함수에게 다시 제어권이 넘어온다.

- 작업이 완료된 후 새로운 작업을 수행할 수 있다. 

 

 

논블로킹(Non-Blocking)

- 제어권이 계속 호출한 함수에 있기 때문에 작업의 완료여부와 관계없이 새로운 작업을 수행할 수 있다.

 

 

 

 

 

 

 

 

 

*참고사이트 

- https://cotak.tistory.com/136#%EB%B-%--%EB%A-%-C%ED%--%B--Blocking-%EA%B-%BC%--%EB%--%BC%EB%B-%--%EB%A-%-C%ED%--%B--Non-Blocking-

 

 

728x90
반응형