본문 바로가기

Road to Web Developer/알.쓸.개.잡

동기와 비동기의 개념


1. 동기 방식(Synchronous)

요청이 들어온 순서에 맞게 하나씩 처리하는 방식이다. 순서에 맞춰 진행되는 장점이 있지만, 여러 가지 요청을 동시에 처리할 수 없다.


위 그림의 (a)처럼 커피 주문을 받고 나올 때까지 기다리는 것이 동기 방식의 예시라고 할 수 있다.


2. 비동기 방식 (Asynchronous)

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


위 그림의 (b)처럼 점원 한명이 커피 주문을 받고 다른 점원이 커피를 건네주는 것이 비동기 방식의 예시다.


동기와 비동기의 차이는 어떤 요청이나 혹은 그와 관련된 작업을 처리하고자 하는 시각의 차이다. 전체 데이터를 불러온다면 동기 방식이 적합하고, 일부 데이터만 불러온다면 비동기 방식이 적합하다정도로 생각하면 된다.