동기와 비동기

임지원·2024년 6월 14일

동기(Synchronous)

동시에 일어난다는 뜻을 가짐

요청을 하면 시간이 얼마나 걸리던 요청한 자리에서 결과가 나와야한다.
작업이 직렬로 배치되어 작업의 실행 순서가 정해져있다.


장점 : 설계가 간단하고 직관적이다.
단점 : 결과가 주어질 때까지 대기해야한다.

비동기(Asynchronous)

동시에 일어나지 않는다는 뜻을 가짐

요청한 결과가 동시에 일어나지 않는다.
먼저 시작된 작업의 완료 여부와는 상관없이 새로운 작업을 시작하는 방식이다.
작업이 병렬로 배치되어 실행되며 작업의 순서가 확실하지 않아 나중에 시작된 작업이 먼저 끝나는 경우도 발생한다.


장점 : 요청의 결과가 반환되는 동안 다른 작업이 가능하다.
단점 : 설계가 복잡하다.

블록과 논블럭

블록

동기의 개념에서 파생되었다.
브라우저 실행 시간을 10분으로 가정하면 다른 브라우저는 결과가 나올 때 까지 대기해야 하는 상태를 블록상태라고 한다.

논블록

비동기의 개념에서 파생되었다.
같은 가정에서 대기없이 자유롭게 사용할 수 있는 상태를 논블록 상태라고 한다.

profile
백엔드 새싹

0개의 댓글