[react] task queue 와 micro task queue

binary_rho·2024년 4월 22일

'모던 리액트 Deep Dive'를 읽고!

기본적으로 자바스크립트는 싱글 스레드를 가지고 있어 한번에 여러 일을 처리하기 어렵다. 즉, 비동기 처리가 어렵다.
(멀티 스레드를 사용하면 같은 메모리를 이용해 여러가지 일을 동시에 처리할 수 있다. 하지만 이는 같은 메모리를 이용하기 때문에 동시에 같은 자원에 접근할 시 DOM 표시에 문제를 일으킬 수 있다.)

하지만 이벤트 루프, task queue와 micro task queue, 브라우저/Node.js API 등을 이용해 비동기 이벤트 처리가 가능하다@!

마이크로 태스크 큐를 가장 먼저 실행하고, 이후 렌더링 된다.
그 사이에 window, 즉 브라우저에 렌더링 되고
태스크 큐가 실행된다.

태스크 큐의 경우에는 마이크로 태스크 큐가 실행되어야 렌더링 되므로, for문이 있을 시 순차적으로 렌더링 되고, 마이크로 태스크 큐 같은 경우에는 렌더링이 전혀 일어나지 않은채로 for문이 실행되고 다 끝난 후에야 렌더링이 된다.

profile
tistory로 옮겨갔어요 .. ! https://2wlslog.tistory.com/

0개의 댓글