1 동기 비동기(Sync & Async)

 

동기- 동기로 실행된다= 코드 결과 나올 때까지 기다린다

 

예시는 놀이기구인데 영화관으로 생각해니 이해가 간다

영화관에서 상영 끝나기 전에 새 손님 못받는것처럼

동기로 실행되는 프로그램은 끝 날때 까지 새로 못함

입장퇴장이 동기적으로 관리된다

 

비동기- 실행순서 상관없이 결과가 나옴

 

음식점이 예제였는데 먼저 나올거 나오면 그 빈자리만큼 새로 들어가는게 가능

입장퇴장이 비동기적으로 관리된다

 

2 Blocking Model & Non-Blocking Model

 

Blocking Model- 코드 실행이 끝나기 전까지 제어권을 넘기지 않아 다른 작업 못하고 대기하는게 Blocking Model

 

Non-Blocking Model- 끝나지 않아고 실행제어권을 넘겨 다음코드 적용가능

 

js는 Async + Non-Blocking Model 즉 비동기에 논블록킹이라 지금 실행중인

코드가 끝나지 않아도 다음코드를 호출함

그결론적으로 명령들이 순서대로 ㅅㄹ행은 하지만 동기적 명령이 아니면 싹다 비동기로 진행

 

여기서 동기 비동기의 다른점은 

 

논블로킹- 제어권 넘기면 다른 코드도 가능해서 비동기가 가능하고

블로킹이면 비동기가 가능한 환경이라도 제어권을 넘기지 않아 비동기 불가

 

 

프로미스-promise

 

js에서 비동기를 동기로 처리하게 하는 빌트인 유형

 

왜 비동기를 동기로 처리하나?

js의 관점에서 그렇다는 얘기라고

 

여러가지 이야기가 더 있지만 후략

 

 

 

 

 

 

 

 

 

 

 

 

+ Recent posts