더북(TheBook)

3.1 비동기와 타이머에서 타이머가 정확하지 않을 수 있다고 했습니다. 이벤트 루프를 배웠으니 이제 그 이유를 구체적으로 설명할 수 있습니다. 타이머의 콜백 함수가 지정한 시간이 지나 태스크 큐로 이동한 상황이더라도 호출 스택에서 다른 함수가 실행되고 있는 상황이면 태스크 큐에 있는 콜백 함수는 호출 스택으로 이동하지 못합니다. 그래서 지정한 시간이 지났더라도 타이머의 콜백 함수가 무조건 실행된다고 보장할 수 없습니다. 지정한 시간이 지나고 호출 스택이 비어 있어야만 콜백 함수가 실행됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.