본문 바로가기

자바스크립트

동기적 실행 vs 비동기적 실행

동기적 실행 vs 비동기적 실행

  1. 동기적 실행 (Synchronous execution)
    동기적 실행은 실행 순서가 순차적인 것이다. 서브루틴(프로그램이 호출하는 일련의 명령어) A, B, C가 차례로 있다면, A → B → C 차례로 실행되며, B는 A의 실행 결과를 기다리며, C는 B의 실행 결과를 기다린다.
  2. 비동기적 실행 (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