sync, async
동기/비동기 방식 처리의 개념에 대해 알아본다.
동기방식: 한 스레드 내 선행 작업이 진행중인 동안 다음 작업은 수행하지 않음(블로킹 방식)
자바스크립트의 경우 싱글 스레드 동기방식으로 처리함
단점: 한 작업이 너무 오래걸릴 경우 전체 작업이 종료되는 시간이 길어지므로 느려진다.
⇒웹사이트에서는 절대 일어나서는 안되는 일
멀티스레드(여러 스레드)를 사용할 경우 작업을 분할할 수 있지만, 자바스크립트는 스레드를 한 개만 사용한다. 따라서 비동기(async) 방식
을 사용해야한다.
비동기방식: 먼저 작성된 코드를 기다리지 않고 여러 작업을 동시에 실행함(논 블로킹 방식)
timer 비동기 처리함수 setTimeout()
을 사용해보자.
<aside> 💡 setTimeout(처리할 함수, 지연시간(milliseconds))
</aside>
다음 코드를 살펴보자.
function taskA() {
setTimeout(() => {
console.log("A task ended");
}, 1000);
}
taskA();
console.log("code ended");