「Multithreaded JavaScript」 Thread : 스레드란?

Concurrency Beyond the Event Loop

Posted by OG on September 16, 2022

스레드란?

OS 커널 바깥 실행단은 프로세스와 스레드로 구분된다.

하나의 프로그램을 실행한다는 것은 하나의 프로세스가 시작된다는 것이다.

하나의 프로세스에서 여러 개의 스레드를 생성하는 것도 가능하다.

둘의 차이점이 있다면, 프로세스는 기본적으로 서로의 메모리 공간에 접근할 수 없지만

스레드는 동일한 프로세스 아래에 있다면 메모리 공간을 공유할 수 있다는 것이다.

스레드의 장점

  1. 상호 통신이 용이하다 메모리 공간을 공유할 수 있기 때문에 스레드는 상호 통신이 용이하다.

  2. 그 말은 즉. 동시성 구현에 용이하다

  3. 이 외에 스레드는 CPU 부하가 큰 작업에 사용하기 좋다. 메인 스레드를 통해 상호작용하는 동시에 복잡한 연산은 별도 스레드에 맡긴다.

스레드의 장점을 극대화 하는 방법

스레드의 장점을 극대화 하는 방법은 스레드 간 통신 을 잘 활용하는 것이다.

여기서 스레드 간 통신이란? 하나의 스레드가 다른 스레드로부터 데이터를 전달받아 처리하는 것을 말한다.