Sync vs Async

동기 - 작업을 다른 쓰레드에서 하도록 시킨 후, 그 작업이 끝나길 기다렸다가 다음 일을 진행한다.

비동기 - 작업을 다른 쓰레드에서 하도록 시킨 후, 그 작업이 끝나길 기다리지 않고 다음 일을 진행한다.

Synchronous 동기

사실 영단어 해석은 ‘동시에 발생하는’ 이다.

여기서 동시에 발생한다는 의미는 요청과 응답이 동시에 발생한다는 뜻이다.

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

우리가 평소에 별도의 작업 없이 써내려 가는 코딩이 바로 Synchronous이다.

만약 오래 걸리는 작업이 있다면 Asynchronous로 처리해야 한다.

장점

설계가 매우 간단하고 직관적

단점

응답이 주어질 때까지 아무것도 못하고 대기해야 한다.

Asynchronous 비동기

영단어 해석 ‘동시에 발생하지 않는’

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

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

비동기는 다음 작업과 동시에 실행되기 때문에

Async 작업이 많아지면 여러가지 작업을 동시에 처리 가능해진다.