본문 바로가기
알쓸정보모음

[javascript]동기 vs 비동기 이해하기

by thecorative 2024. 1. 11.
반응형

 

동기와 비동기 

1. 동기 

Synchronous: 동시에 발생하는

-직렬적으로 발생하는 작동방식

-요청을 보냈다면, 응답을 받아야 다음 동작이 이루어진다. 

-순차적으로 실행되므로, 어떤 작업이 수행 중이라면 뒤 작업은 대기해야 한다.

-블로킹(작업중단)이 발생한다.

 

2. 비동기 

Asynchronous: 동시에 발생하지 않는

-코드가 끝날 때까지 기다리는 것이 아니라 다음 코드를 먼저 실행한다. 

-작업 완료 순서가 보장되지 않는다. 

-블로킹이 발생하지 않는다. 

 

 

 

 

동기는 줄 서서 앞사람이 끝나면 다음사람이 주문을 하는 것이라고 보면

비동기는 먼저 완성된 것부터 받아가는 것이라고 보면 될 것 같다.

 

비동기 작업 예시

console.log("hi");

setTimeout(()=>{
	console.log("james");
},2);

console.log("world");

let i=0;
while(i < 1e9) i++;
console.log("finished");

출력결과
hi
world
finsihed
james
반응형