동기 / 비동기 차이

- 동기(synchronous)
- 비동기(asynchronous)
비동기 처리가 필요한 이유
- 웹 페이지의 반응성 향상
사용자가 요청한 작업이 완료될 때까지 기다리는 것은 사용자 경험을 저해시킵니다. 1초 이상만 지연되도 사용자는 웹서비스 이용에 불편함을 느낍니다. 따라서, 비동기 처리를 통해 사용자가 대기하지 않고 즉각적인 응답을 받을 수 있고 더 나은 사용자 경험을 제공하게 됩니다.
- 네트워크 통신 효율성
웹 애플리케이션에서는 서버와의 데이터 통신이 필요합니다. 동기적인 처리를 하게 되면 응답을 기다리는 동안 다른 작업을 수행할 수 없기 때문에 웹 페이지의 반응성이 떨어질 수 있습니다. 서버와의 통신 시 비동기 처리를 통해 데이터 요청 후 다른 작업을 동시에 처리할 수 있으며, 이는 페이지 성능을 개선하고 대기 시간을 줄여줍니다.
- 병렬 처리
비동기 처리를 통해 여러 작업을 동시에 처리할 수 있습니다. 이를 통해 시간이 오래 걸리는 작업을 병렬적으로 처리할 수 있으며, 결과적으로 전체 작업 시간을 단축시킵니다.
- 에러 처리
비동기적으로 처리하면 에러 발생 시, 해당 에러를 쉽게 처리할 수 있습니다. 에러를 처리할 수 있는 콜백 함수를 실행하거나, 에러를 캐치해 처리할 수 있기 때문에 프로그램의 안정성을 높일 수 있습니다.