동기

Javascript

(JS) 동기(synchronous)와 비동기(asynchronous)

자바스크립트는 단 하나의 실행 컨텍스트를 갖는다. 실행 컨텍스트는 스택 자료구조를 띄고있다. 이러한 이유로 구조적으로는 동시에 2가지 이상의 함수를 실행할 수 없다. (실행중인 컨텍스트를 제외하면 나머지 실행 컨텍스트는 모두 실행 대기중인 태스크(업무, task)이다. 태생적으로 자바스크립트 엔진은 한번에 하나의 태스크만 실행할 수 있는 싱글 스레드(single thread) 방식으로 동작한다. 그래서 처리에 시간이 걸리는 태스크를 실행하는 경우 블로킹(blocking, 작업 중단)이 발생한다. 아래 코드는 동기 처리를 보여주는 예시이다. // Date.now()는 현재 시간을 숫자(ms)로 반환한다. function sleep(func, delay) { const delayUntil = Date.now..

2DC
'동기' 태그의 글 목록