동기 비동기란?
동기 / 비동기
동기(Synchronous)
동기 방식은 요청과 결과가 동시에 일어난다는 약속을 기반으로 합니다.
이 방식에서는 요청에 대한 응답이 돌아와야 다음 동작을 수행할 수 있습니다.
예를 들어, 데이터베이스에서 정보를 조회하는 작업(A)이 완전히 끝나야만, 그 결과를 바탕으로 다른 작업(B)을 시작할 수 있는 구조입니다.
이 방식의 가장 큰 특징은 작업의 처리가 매우 직관적이고 예측 가능하다는 것입니다.
하지만, 이로 인해 결과를 기다리는 동안 다른 작업을 수행할 수 없어 자원의 사용이 비효율적일 수 있습니다.
장점
- 설계가 간단하고 직관적: 모든 작업이 순차적으로 일어나므로, 코드의 흐름을 이해하기 쉽습니다.
- 실행 흐름의 명확성: 각 단계가 완료된 후에 다음 단계가 진행되므로, 실행 흐름을 명확하게 파악할 수 있습니다.
단점
- 대기 시간: 결과가 주어질 때까지 다른 작업을 수행할 수 없으므로, 시간이 낭비될 수 있습니다.
비동기(Asynchronous)
비동기 방식은 요청과 결과가 동시에 일어나지 않는다는 약속을 기반으로 합니다.
요청이 처리되는 동안 다른 작업을 동시에 진행할 수 있어, 자원을 보다 효율적으로 사용할 수 있습니다.
예를 들어, 서버로 데이터를 요청하는 작업(A)을 시작한 후, 결과를 기다리는 동안 사용자 인터페이스의 업데이트(B)와 같은 다른 작업을 실행할 수 있습니다.
이는 특히 웹 애플리케이션에서 사용자 경험을 개선하는 데 큰 도움이 됩니다.
장점
- 자원의 효율적 사용: 결과를 기다리는 동안 다른 작업을 수행할 수 있으므로, 전체 시스템의 효율이 증가합니다.
- 응답성 향상: 여러 작업을 동시에 처리할 수 있어, 시스템의 응답성이 더욱 빨라집니다.
단점
- 설계의 복잡성: 동기 방식보다 설계가 복잡하고 디버깅이 어려울 수 있습니다.
This post is licensed under CC BY 4.0 by the author.