동기와 비동기에 대해 정리해보겠습니다!
동기(Synchronous)
동기는 말 그대로 동시에 일어난다는 뜻입니다.
요청과 그 결과가 동시에 일어난다는 약속입니다.
바로 요청을 하면 시간이 얼마나 걸리던지 요청한 자리에서 결과가 주어져야 합니다.
요청에 대한 응답(request)가 있어야 다음 요청을 보낼 수 있습니다.
순서에 맞춰 진행되는 장점이 있지만, 여러 가지 요청을 동시에 처리할 수 없습니다.
비동기(Asynchronous)
비동기는 동시에 일어나지 않는다를 의미합니다.
요청과 결과가 동시에 일어나지 않을 거라는 약속입니다.
하나의 요청에 따른 응답을 즉시 처리하지 않아도, 그 대기 시간동안 또 다른 요청에 대해 처리 가능한 방식입니다.
여러 개의 요청을 동시에 처리할 수 있는 장점이 있지만 동기 방식보다 속도가 떨어질 수도 있습니다.
차이점
동기 (Synchronous)
1. 동기적인 작업은 순차적으로 진행됩니다.
2. 각 작업은 이전 작업이 완료되어야 시작됩니다.
3. 작업 A가 시작되면 A가 완료될 때까지 다른 작업은 대기해야 합니다.
비동기 (Asynchronous)
1. 비동기적인 작업은 순차적으로 진행되지 않습니다.
2. 각 작업은 시작되었을 때 완료되지 않아도 다음 작업이 시작됩니다.
3. 비동기 작업은 주로 콜백 함수, Promise, async/await을 통해 처리됩니다.
비동기 작업은 주로 네트워크 요청, 파일 읽기/쓰기, 이벤트 처리 등과 관련이 있습니다.
이를 통해 프로그램은 다른 작업이 완료될 때까지 블로킹되지 않고 계속 실행될 수 있습니다.
'FE 개발' 카테고리의 다른 글
[FE 개발] 가상 돔과 실제 돔 (0) | 2024.01.18 |
---|---|
[FE 개발] 프레임워크와 라이브러리 (0) | 2024.01.17 |
[Git] commit 이력 대거 수정 (Git filter repo) (3) | 2023.12.06 |
[Git] commit 이력 조회하는 방법 (0) | 2023.10.27 |
[Git] 원격 저장소 repository remote 주소 변경 (0) | 2023.10.24 |