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

박지윤·2024년 1월 25일

동기(Synchronous)

:동시에 이어나는
말 그대로 동시에 일어난다는 뜻
요청과 결과가 한 자리에서 동시에 발생한다
바로 요청을 하면 시간이 얼마나 걸리던지 요청한 자리에서 결과가 주어져야한다.
순서에 맞춰 진행이 되는 장점이 있으나 여러가지 요청을 동시에 처리할수는 없다.

→ 즉, 어떤 요청을 서버로 보냈을때 서버에서 응답이 올때까지 기다렸다가 다음 작업을 하는 방식

비동기(Asynchronous)

: 동시에 일어나지 않는
동시에 일어나지않는다는 뜻
요청과 결과가 동시에 발생하지않는다
하나의 요청에 따른 응답을 즉시 처리하지 않아도 그 대기 시간동안 또 다른 요청에 대해 처리 가능한 방식이다
여러개의 요청을 동시에 처리할 수 있는 장점이 있지만 동기방식보다 속도가 떨어질수가 있다는점이 있다

→ 요청한 그 자리에서 결과가 주어지지 않는다
→ 노드 사이의 작업 처리단위를 동시에 맞추지 않아도 된다
→ 어떤 요청을 서버에 보냈을때 서버의 응답을 기다리지않고 다음 작업을 하는 방식

동기와 비동기 장단점

동기방식은 설계가 매우 간단하고 직관적이나 결과가 주어질때까지 아무것도 하지못하고 대기해야한다.
비동기 방식은 동기보다 복잡하나, 결과가 주어지는데 시간이 걸리더라도 그 시간동안 다른 작업을 할수있기때문에 자원을 효율적으로 사용할수가 있다.

페이지 리로드 경우를 보면 전체 리소스를 다시 불러와야하는데 이때 이미지,스크립트, 기타 코드를 모두 재요청 할 경우 불필요한 리소스 낭비가 발생하게 되지만 비동기방식을 이용할 경우 필요한 부분만 불러와 사용함으로 매우 큰 장점이 있다.

0개의 댓글