'모던 리액트 Deep Dive'를 읽고!
기본적으로 자바스크립트는 싱글 스레드를 가지고 있어 한번에 여러 일을 처리하기 어렵다. 즉, 비동기 처리가 어렵다.
(멀티 스레드를 사용하면 같은 메모리를 이용해 여러가지 일을 동시에 처리할 수 있다. 하지만 이는 같은 메모리를 이용하기 때문에 동시에 같은 자원에 접근할 시 DOM 표시에 문제를 일으킬 수 있다.)
하지만 이벤트 루프, task queue와 micro task queue, 브라우저/Node.js API 등을 이용해 비동기 이벤트 처리가 가능하다@!
마이크로 태스크 큐를 가장 먼저 실행하고, 이후 렌더링 된다.
그 사이에 window, 즉 브라우저에 렌더링 되고
태스크 큐가 실행된다.
태스크 큐의 경우에는 마이크로 태스크 큐가 실행되어야 렌더링 되므로, for문이 있을 시 순차적으로 렌더링 되고, 마이크로 태스크 큐 같은 경우에는 렌더링이 전혀 일어나지 않은채로 for문이 실행되고 다 끝난 후에야 렌더링이 된다.