동기적 실행 vs 비동기적 실행
- 동기적 실행 (Synchronous execution)
동기적 실행은 실행 순서가 순차적인 것이다. 서브루틴(프로그램이 호출하는 일련의 명령어) A, B, C가 차례로 있다면, A → B → C 차례로 실행되며, B는 A의 실행 결과를 기다리며, C는 B의 실행 결과를 기다린다. - 비동기적 실행 (Asynchronous execution)
반면 비동기적 실행은 서브루틴의 실행 순서가 보장되지 않는 것이다. A → B → C 순으로 실행될 수도 있고 B → A → C 순으로 실행될 수도 있다. 이런 경우 서브루틴이 완료되었다는 것을 전달하기 위해 Callback을 사용하기도 한다.
동기/비동기 실행은 멀티스레딩과 관련이 없다
- 하나의 스레드에서 비동기 실행을 할 수도 있고, 멀티 스레드에서 동기 실행을 할 수도 있다.
- ‘서브루틴의 실행순서가 정해져 있는지’가 둘을 나누는 차이점이다.
- 웹의 경우 비동기 통신이기 때문에 언제 몇명이 들어올지 알 수 없어 비동기 방식을 채택하게 된다.

비동기적(asynchronous) 실행과 동기적(synchronous) 실행의 차이
비동기적(asynchronous) 실행과 동기적(synchronous) 실행의 차이
'자바스크립트' 카테고리의 다른 글
| Event Loop (0) | 2023.04.12 |
|---|---|
| Node.js의 동작방식 (0) | 2023.04.05 |
| 프로토타입 체이닝 (상속 흉내) (0) | 2023.03.24 |
| 클로저 (private 흉내) (0) | 2023.03.21 |
| this (0) | 2023.03.17 |