JavaScript 함수, 스레드 및 비동기 실행

JavaScript가 내부적으로 어떻게 작동하는지 이해해야 합니다.

다음은 함수, 프로세스, 스레드 및 실행 방식에 대한 상세 설명입니다.

JavaScript 함수의 종류

프로세스(Process) vs 스레드(Thread)

프로세스는 컴퓨터에서 실행 중인 프로그램입니다.

스레드는 프로세스 내부의 작은 단위입니다.

동기(Synchronous) vs 비동기(Asynchronous)

JavaScript는 싱글 스레드(single-threaded)입니다. 콜 스택(call stack)을 사용하여 한 번에 하나의 작업만 처리합니다.

동기 실행 (Synchronous Execution):

비동기 실행 (Asynchronous Execution):

비동기 작동 방식:

  1. JavaScript가 작업(예: 타이머)을 Web API로 보냅니다.
  2. 메인 코드는 계속 실행됩니다.
  3. 작업이 완료되면 콜백 큐로 이동합니다.
  4. 이벤트 루프는 콜 스택이 비어 있을 때 해당 작업을 콜 스택으로 옮깁니다.

이를 통해 웹 앱을 빠르고 반응성 있게 유지할 수 있습니다.

출처: https://dev.to/kamalesh_ar_6252544786997/types-of-function-and-threads-process-and-synchronous-vs-asynchronous-in-javascript-1hhd