1. Synchronous vs Asynchronous

Sync

요청에 대한 응답이 동시에 발생해야 한다.

즉, 내 작업이 끝나기 전까진 다른 작업을 수행하지 못한다.

위 그림에서 Synchronous에선

1의 작업이 완료 되어야만 다음 작업이 실행되기 하기 때문에

(2작업이 완료되어야 3작업, 3작업이 완료되어야 4작업)

따라서 전체 실행 시간은 45초가 걸리는 것


Async

요청에 대한 응답이 동시에 발생하지 않는다

즉, 내 작업이 끝나기 전에 다음 작업을 실행한다

Asynchronous에선 1작업이 완료되지 않아도 2작업, 3작업, 4작업을 실행할 수 있어,

전체 실행 시간은 가장 오래걸리는 1작업이 끝나는 시간인 20초가 되는 것임!