Synchronous, Asynchronous

jeongol·2024년 9월 6일

코드를 작성하다보면 동기적으로 작동하는 코드와 비동기적으로 작동하는 코드가 있다. 동기와 비동기는 다양한 애플리케이션과 시스템에서 사용하기 때문에 웹 개발자에게는 거의 필수적으로 알아야 하는 개념이다.

동기(Synchronous)란

동기란 동시에 일어난다 라는 의미를 갖고 있다. 프로그래밍에서 동기는 작업이 순차적으로 진행되는 것을 의미 한다. 작업을 요청하면 작업이 완료 될때까지 다른 작업을 처리하기 위해 기다려야 된다. 작동 원리는 호출한 함수 또는 작업이 반환 될 때까지 대기하는 동안 실행 흐름이 차단된다. 코드를 작성할때 직관적으로 설계하기 때문에 코드를 한눈에 볼수 있는 장점이 있지만 동시에 빠른 작업이 필요한 코드를 작성해야 할경우는 동기적 방식은 비효율적이다.

비동기(Asynchronous)란

비동기는 동시에 일어나지 않는다 라는 의미를 갖고 있다. 프로그래밍에서 비동기는 작업이 독립적으로 실행되며, 작업 완료 여부를 기다리지 않고 다른 작업을 실행할 수 있는 방식이다. 작동 원리는 호출한 함수 또는 작업이 반환되는동안 다른 작업의 요청을 받고 동시에 처리해주는 것이다. 반대로 코드를 작성할때 가독성이 매우 떨어질수 있다. 복잡하게 코드를 짜야하기 때문이다. 대신 그에 따라 빠른 작업 처리가 가능한것을 볼수 있다.

동기와 비동기의 차이 예시

동기와 비동기의 차이를 보여주는 그림 예시다.

(2024.09.05 TIL)

0개의 댓글