[Web / JavaScript] Sync, Async
key word : 동기, 비동기, Sync, Async, Synchronous, Asynchronous, async, await, Promise
동기라는 말을 들으면 가장 먼저 ‘동기화’라는 말이 떠오른다. 같은 뜻을 가지고 있다고 하는데 그래서인지 ‘동기’라는 단어의 첫인상은 동시적으로 무언갈 처리한다는 느낌이었다. 찾아보니 요청과 결과가 동시에 일어나서 이런 단어를 붙였다고 하는데, 그것보다는 여러 요청이 동시에 일어나는 것처럼 느껴져서 왠지 단어에 이질감을 느끼곤 했다. 글로 정리함으로써 개념 공부도 하고 단어에도 익숙해져야겠다.
동기(Synchronous)
위에서 말한 것처럼 동기는 요청과 그에 대한 응답이 동시에 일어난다는 의미이다. 이는 요청한 즉시 결과가 나와야한다는 뜻으로, 동기방식을 사용하면 순차적으로 결과를 받아볼 수 있다. 결국 하나를 처리하고 있다면, 다른 작업은 할 수 없다는 의미이기도 하다.
비동기(Asynchronous)
비동기는 말그대로 동기가 아니라는 뜻이다. 여러 요청을 수행할 수 있으며, 결과도 꼭 순차적으로 반환되는 것이 아니다. 하나를 처리하고 있어도 또 다른 요청을 처리할 수 있다.