<aside> ⚠️ 본 글은 ChatGPT를 참고하여 작성된 글입니다. 그렇다고 본인이 조사해서 작성한 부분이 없는 건 아님.

</aside>

어떤 프로세스가 싱글스레드라는 말은, 한 번에 한 작업밖에 처리하지 못하고, 그것도 그 작업을 순서대로 (동기적으로) 처리할 수밖에 없다는 뜻이다. 그런데도 JavaScript는 왜 지금까지 싱글스레드 방식을 벗어나지 않았을까?

Personal Note: 아마… 로블록스 엔진이 싱글스레드인 이유와 일맥상통하지 않을까 싶다.

TL;DR

초기에 단순히 웹 브라우저를 위해 설계되었기도 하고, 이벤트를 통해 코드를 비동기적으로도 실행할 수 있었으며, TODO: 멀티스레드로 바뀌지 않았던 이유

<aside> <img src="/icons/row_lightgray.svg" alt="/icons/row_lightgray.svg" width="40px" /> 목차

</aside>

이 글을 읽기에 앞서,

-에 대한 이해가 우선되어야 한다. 이미 아는 이는 스킵해도 좋다.

— 앞서 이해하기

<aside> 💡 스레드 ⊂ 프로세스 ⊂ 프로그램

</aside>

프로세스

보조기억장치(HDD, SSD)에 저장되어 있던 프로그램이 주기억장치(RAM)으로 올라와 실행될 때, 그것을 프로세스라고 부른다. 하나의 프로그램은 여러 개의 프로세스를 가질 수 있으며, 그러한 방식을 멀티프로세스라고 한다. 이때 각 프로세스는 별도의 메모리 공간을 사용한다.

멀티프로세스는 언제?