목적 : 동기와, 비동기를 배우는 이유를 알기 위해서
- 요청과 그에 따른 응답이 순차적으로 일어나는 방식입니다.
- 요청을 보내면 그 응답이 올 때까지 대기한 후 다음 작업을 진행합니다.
- 일의 순서가 중요한 경우 동기 처리 합니다.
- 처리 순서가 보장되지만, 응답을 기다리는 동안 다른 작업을 수행할 수 없기 때문에 비효율적일 수 있습니다.
그림으로 동기를 이해 해 보아요
동기를 코드로 살펴봅시다!
console.log("첫 번째 코드 시작");
for(let i = 0; i < 10000; i++) {
console.log("첫번 째 작업 실행 중")
}
console.log("첫 번째 코드 끝")
console.log("두번 째 코드 시작")
for(let i = 0; i < 10000; i++) {
console.log("두번 째 작업 실행 중")
}
console.log("두번 째 코드 끝")
.
.
.
- 요청과 그에 따른 응답이 비순차적으로 일어나는 방식입니다.
- 요청을 보내고 응답을 기다리지 않고, 다음 작업을 계속 진행합니다.
- 일의 순서가 중요하지 않은 경우 효율적인 일 처리를 위해 비동기 처리 합니다.
console.log("시작")
setTimeout(() => {
console.log("타임아웃")
}, 1000);
console.log("끝")