All

동기(Synchronous)와 비동기(Asynchronous)

PT sun 2020. 3. 16. 14:14

먼저, 카페에서 커피를 주문하는 상황이라 가정할 때

 

일반적으로 한 줄에 한 명씩 서서 차례로 주문을 하게 되는 방식은 동기(Synchronous)에 해당한다.

즉 큐처럼 선입선출 방식으로 코드가 실행된다.

 

그리고,  동시에 여러 명의 바리스타들이 다수의 주문을 처리하고 주문순서에 상관없이 먼저 제조된 음료를 내어 준다면 그것은 비동기(Asynchronous)에 해당한다.

 

즉,

동기는 직렬식,

비동기는 병렬식

으로 작업을 처리하는 것이다.

 

 

 

* 동기(Synchronous)

요청을 보낸 후 응답을 받아야만 다음 동작이 이루어지는 방식.

즉, 모든 일은 순차적으로 처리되며 어떤 작업이 수행 중이라면 다음 작업은 대기중인 상태인 것이다.

 

* 비동기(Asynchronous)

대표적인 예 : setTimeout, Ajax