동기적 처리(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 |