Node.js nextTick.js

노드는 직접 작성한 코드는 모두 동기로 실행해서 연산이 많은 작업이면 다른 이벤트가 발생하더라도 처리하지 못한다. 그렇다면 연산이 많이 필요한 작업을 비동기로 실행할 수있게 해야한다.

비동기로 실행하기 위해 setTimeout(function() {}, 0) 같은 방법을 사용하지만
process.nextTick()으로 등록한 콜백함수는 우선순위가 높아서 다른 I/O의 콜백함수보다 먼저 실행 된다고 한다.

process.nextTick()에 등록된 콜백 함수는 바로 실행하지 않고 이벤트 큐에 등록해서 싱글 스레드가 현재 작업을 완료하고 다음 이벤트를 처리할 수 있을 때가 되면 process.nextTick으로 등록한 콜백함수를 순서대로 실행한다고 한다.

---------------------------------------------------------------------------------------------------

setTimeout( function() {
  console.log('settTimeout 0으로 호출됨.')
} , 0);


process.nextTick(function() {
  console.log('nextTick으로 호출됨.');
});


console.log(' 어떤 메세지가 먼저 출력 됩니까 ? .');

---------------------------------------------------------------------------------------------------






댓글

이 블로그의 인기 게시물

실내공간 표준안 IndoorGML의 개념 및 활용(이기준, 이지영)('13.06.24 심사완료) 정리.

플랫폼과 에코시스템