더북(TheBook)

코드 15-4 js_engine2.html

<html>
    <head>
        <script src='js_engine2.js'></script>
    </head>
    <body>

    </body>
</html>

코드 15-5 js_engine2.js

console.log('code starts')
setTimeout(() => {
    console.log('callback executed');
}, 1000);
cpu_bound_task = () => {
    const start = Date.now();
    var elapsed = 0;
    while (elapsed < 5000) { 
        const end = Date.now();
        const ms = (end.valueOf() - start.valueOf());
        elapsed = ms;
        sec = ms / 1000; 
        if (elapsed % 1000 === 0) { 
            console.log(sec + " sec");
        }
    }
}

cpu_bound_task();

원래대로라면 1초 후에 실행되어야 합니다.

경과 시간이 5초를 넘어가지 않으면 계속 while 문 안에 갇혀 있습니다.

경과 시간을 초로 변환합니다.

1초마다 경과 시간을 콘솔 창에 출력합니다.

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