동기 방식은 하나의 코드가 실행이 끝나면 다음 작업이 실행되는 원리이다.
console.log(1);
console.log(2);
console.log(3);
console.log(4);
비동기 방식은 하나의 코드가 실행이 끝나면 다음작업이 바로 실행되는 응답을 기다리지 않고 다음 코드가 실행이 되는 원리이다.
console.log(1);
setTimeout(() => {
console.log(2);
}, 500)
console.log(3);
console.log(4);
Blocking은 현재 실행중인 코드가 완료될 때까지 다음 코드의 실행을 멈추게하고 동기 코드에서 흔히 발생한다.
function blockingTask() {
const start = Date.now();
while (Date.now() - start < 3000) {
}
console.log('블로킹');
}
console.log('안녕');
blockingTask();
console.log('하세요');
안녕
블로킹
하세요
Non-Blocking은 다음 코드의 실행을 멈추게하지 않고 비동기 코드에서 볼 수 있다.
function nonblockingTask() {
const start = Date.now();
setTimeout(() => {
console.log('논블로킹');
}, 500)
}
console.log('안녕');
nonblockingTask();
console.log('하세요');
오늘은 정신없는 하루였다. 오전에는 달리기반 수업, 오후에는 실습, 저녁에는 개인과제 특강이 연달아있던 날이라 생각보다 정신이없었고 개인과제를 할 시간이 없어서 9시이후와 주말을 잘 이용해서 과제를 할 것이다. 개인 과제가 쉽지는 않지만 개인과제 특강을 복습하면 충분히 할 수 있다고 생각하기 때문에 끝까지 포기하지않고 할 것 이다.