본문 바로가기

javascript

javascript 동기적처리와 비동기적 처리

동기적 처리(synchronous)

처리해야될 것 들이 1, 2, 3, 4가 있다고 하면 1 이 끝나고 2가 시작하고 2가 끝나고 3이 시작하고 3이 끝나고 4가 시작하고,

이런식으로 병렬적으로 일이 처리 되는 것을 말한다.

function synchronous(){
   const start = Date.now(); // 현재 시간을 ms 단위로 불러준다.
   for(let i = 0; i < 1000000000; i++){
        //시간 끌기
   }
   const end = Date.now();
   console.log(end - start + "ms"); //컴퓨터 마다 다르지만 998ms 정도 나왔다.
};

console.log("start"); 
synchronous();
console.log("end");  // start 가 출력되고 998ms후에 998ms가 출력되고 end가 출력된다.
//이처럼 동기적 처리는 처리하는 동안 그곳에 멈춰 있게 된다.

비동기적 처리(asynchronous)

처리해야될 것 들이 1, 2, 3, 4 가 있다면 1, 2, 3, 4 가 동시에 처리되기 시작한다.

function asynchronous(){
  setTimeout(function(){  // 비동기적 처리를 해주는 내장함수 매개변수로 함수와 몇초 후 실행될지를 지정
  	const start = Date.now();
    for(let i = 0; i < 1000000000; i++){
    	//시간끌기
    }
    const end = Date.now();
    console.log(end - start + "ms");
  },0);
}

console.log("start"); 
asynchronous();
console.log("end");  // start 가 출력되고 end가 출력된뒤 998ms 후 998ms가 출력된다.

 

'javascript' 카테고리의 다른 글

javascript callback함수  (0) 2020.10.08
javascript spreed 와 rest  (0) 2020.10.08
javascript 반복문 !  (0) 2020.10.08
javascript 배열과 내장함수 !  (0) 2020.10.07
javascript getter 와 setter !  (0) 2020.10.07