- 동기는 말 그대로 동시에 일어난다는 뜻이며, 데이터의 요청과 결과가 한 자리에서 동시에 일어나는 것을 말합니다.
- 요청을 하면 시간이 얼마나 걸리던지 요청한 자리에서 결과가 주어져야 합니다.
- 순서에 맞춰 진행된다는 장점이 있지만 사용자가 데이터를 서버에게 요청한다면 그에 따른 응답을 사용자에게 다시 리턴해주기전까지 사용자는 다른 활동을 할 수 없으며 기다려야만 하고 추가적으로 여러 가지 요청을 동시에 처리할 수 없다는 단점이 있습니다.
- 설계가 매우 간단하고 직관적입니다.
- 비동기는 말 그대로 동시에 일어나지 않는다는 뜻이며, 데이터의 요청과 결과가 동시에 일어나지 않는것을 말합니다.
- 동기와는 반대로 하나의 요청에 따른 응답을 즉시 처리하지 않아도, 그 대기시간 동안 또 다른 요청에 대해 처리 가능한 장점이 있지만 동기 방식에 비해 속도가 떨어질수 있습니다.
- 동기보다는 설계가 복잡합니다.
장단점 | 동기 | 비동기 |
---|---|---|
장점 | 설계가 매우 간단하고 직관적 | 요청에 따른 결과가 반환되는 시간 동안 다른 작업을 수행 가능 |
단점 | 결과가 주어질 때까지 대기 | 동기보다 설계가 복잡 |
- 동기와 비동기는 어떤 작업 혹은 그와 연관된 작업을 처리하고자 하는 목적의 차이 입니다.
- 동기는 추구하는 행위와 목적이 동시에 이루어지고, 비동기는 추구하는 행위와 목적이 다를 수도 있고, 동시에 이루어지지도 않습니다.
- 블록이란 동기의 개념에서 만들어진 상태입니다.
예로 들면 브라우저(크롬)가 실행되는 시간을 10분이라고 가정했을때 브라우저(크롬)가 오픈 되기전까지 다른 브라우저(사파리 등)는 계속 대기해야 하는데 그 상태를 블록이라고 합니다.
- 논블록이란 비동기의 개념에서 만들어진 상태입니다.
예로 들면 브라우저(크롬)가 실행되는 시간을 10분이라고 가정했을때 브라우저(크롬)가 오픈 되기전까지 다른 브라우저(사파리 등)는 시간을 대기 하지 않고 제약없이 자유롭게 사용할수 있는 상황을 논블록 상태라고 합니다.