본문 바로가기
영상 후기/WEB

영상 후기 - [10분 테코톡] 🐰 멍토의 Blocking vs Non-Blocking, Sync vs Async

by 올리브영 2023. 4. 6.
728x90
반응형

movie

1. Blocking VS Non-Blocking

Blocking

  • 자신의 작업을 진행하다가 다른 주체의 작업이 시작되면 다른 작업이 끝날 때까지 기다렸다가 자신의 작업을 하는 것

Non-Blocking

  • 다른 주체의 작업에 관련없이 자신의 작업을 하는 것

제어의 관점에서 차이가 있다.

2. Synchronous VS Asynchronous

Synchronous

  • 번역을 해보면 동기라는 뜻을 가진다.
  • 작업을 동시에 수행하거나, 동시에 끝나거나, 끝나는 동시에 시작함을 의미
  • 결과를 바로 처리

 

Asynchronous

  • 번역을 해보면 비동기라는 뜻을 가진다.
  • 시작, 종료가 일치하지 않으며, 끝나는 동시에 시작을 하지 않음을 의미
  • 결과를 바로 처리하지 않음.

 

동기와 비동기는 결과에 관심이 많고 순서에 관심이 있다.

 

3. 조합 4가지 경우

  Blocking Non-Blocking
Sync 서류를 주고 기다린다.(다른일 못함)
서류를 받으면 바로 처리한다.
- ex) Scanner: 입력받을 때
서류를 주고 다른업무를 한다.
중간중간에 서류 준것에 대해 끝났는지 계속 물어봄.
안끝났으면 다시 자신을 업무를 봄.
다시 물어봤을 때 끝났으면 서류를 받고 바로 처리힌다.
- ex) 게임에서 맵을 넘어갈 때

Async 서류를 주고 기다린다.(다른일 못함)
결과에 크게 관심이 없는데도 기다림.
일이 끝나면 결과를 메일로 남겨주고 가라고 한다.
돌아가라고 할때 일하고 시간이 될때 결과를 처리
자신이 다 끝나면 그때 처리하게 된다.
- ex) 자바스크립트에서 API요청을 하고 다른 작업을 하다가 콜백을 통해서 추가적인 작업을 처리를 할 때

 

 

728x90
반응형