[ 모던 자바스크립트 스터디 ] 비동기 프로그래밍
·
Archive/Develop
동기 처리와 비동기 처리 함수를 호출하면 함수 코드가 평가되어 함수 실행 컨텍스트가 생성된다. 이때 생성된 함수 실행 컨텍스트는 실행 컨텍스트 스택에 푸시되고 함수 코드가 실행된다. 자바스크립트 엔진은 단 하나의 실행 컨택스트 스택을 갖는다. 이는 동시에 2개 이상의 함수를 실행시킬 수 없다는 것을 의미한다. 실행 컨텍스트 스택의 최상위 요소인 "실행중인 실행 컨텍스트"를 제외한 모든 실행 컨텍스트는 모두 실행 대기중인 태스크 들이다. 대기중인 태스크들은 현재 실행중인 함수가 종료되면 비로소 실행된다. 이처럼 자바스크립트 엔진은 한번에 하나의 태스크만 실행할 수 있는 싱글 스레드 방식으로 동작한다. 싱글스레드 방식은 한 번에 하나의 태슼느만 실행할 수 있기 때문에 처리에 시간이 걸리는 태스크를 실행하면 ..