자바스크립트는 싱글 스레드를 가지고 있는 언어이다.
옛날에 CPU 밈에서 나온 짤인데 포켓몬의 수 = 코어의 수, 팔의 수 = 쓰레드의 수이다.
스레드는 한번에 작업할 수 있는 수를 의미하는데, 자바 스크립트는 팔이 한개인 싱글 스레드이다.
싱글 스레드인 자바 스크립트는 한번에 하나의 작업밖에 하지 못하는데 이는 곧 속도 측면에서 느리다는 것을 의미한다.
자바스크립트는 비동기 방식을 통해 여러개의 작업을 동시에 하는 것 처럼 보이는 멀티 태스킹을 사용한다.
Web API, Callback Queue, Event Loop 등을 통해 멀티스레드 처럼 보이게 하는 방식을 사용한다.
마치 게임 큐를 돌려놓고 다른 짓을 해도 큐는 계속 돌아가는것과 비슷한 원리라고 할 수 있다.
'Javascript' 카테고리의 다른 글
[ JavaScript ] ==, === 의 차이점 (0) | 2023.01.16 |
---|---|
[ JavaScript ] Arrow Function ( 화살표 함수 ) (0) | 2023.01.16 |
[JavaScript] 실행 컨텍스트 그리고 클로저 (0) | 2023.01.09 |
[JavaScript] 스코프, 스코프 체인 , 렉시컬 스코프 (0) | 2023.01.09 |
[JS] var, let, const 의 차이점 ( Feat. 호이스팅 ) (0) | 2023.01.09 |