본문 바로가기

컴퓨터공학

[1일1cs] 동기와 비동기 블로킹과 논블로킹

동기(Synchronus)와 비동기(Asynchronus)는 프로세스 순서 보장에 관심이 있는 개념.

블로킹과 논블로킹은 실행 제어권에 관심이 있는 개념.

 

동기는 process A 와 process B 가 있다면,

A가 B의 완료에 계속해서 신경을 쓴다. 그렇게 B가 끝나면 A가 실행하고자 한다. (순서 보장)

반면 비동기는 A가 B의 완료에 신경을 쓰지 않고,  B가 종료되지 않아도 A가 실행된다. (순서 보장 X)

 

블로킹과 논블로킹은 process A와 process B 가 있다면,

A도중에 B가 실행된다면, 제어권을 B에게 넘긴다면 블로킹.

A도중에 B가 실행되어도, A가 계속 실행되며 (제어권을 넘기지 않고) B를 실행한다면 논블로킹.

 

동기와 비동기 그리고 블로킹과 논블로킹은 조합해서 사용하곤 한다.

(참고 : https://inpa.tistory.com/entry/%F0%9F%91%A9%E2%80%8D%F0%9F%92%BB-%EB%8F%99%EA%B8%B0%EB%B9%84%EB%8F%99%EA%B8%B0-%EB%B8%94%EB%A1%9C%ED%82%B9%EB%85%BC%EB%B8%94%EB%A1%9C%ED%82%B9-%EA%B0%9C%EB%85%90-%EC%A0%95%EB%A6%AC#top

)