스레드란?
OS 커널 바깥 실행단은 프로세스와 스레드로 구분된다.
하나의 프로그램을 실행한다는 것은 하나의 프로세스가 시작된다는 것이다.
하나의 프로세스에서 여러 개의 스레드를 생성하는 것도 가능하다.
둘의 차이점이 있다면, 프로세스는 기본적으로 서로의 메모리 공간에 접근할 수 없지만
스레드는 동일한 프로세스 아래에 있다면 메모리 공간을 공유할 수 있다는 것이다.
스레드의 장점
-
상호 통신이 용이하다 메모리 공간을 공유할 수 있기 때문에 스레드는 상호 통신이 용이하다.
-
그 말은 즉. 동시성 구현에 용이하다
-
이 외에 스레드는 CPU 부하가 큰 작업에 사용하기 좋다. 메인 스레드를 통해 상호작용하는 동시에 복잡한 연산은 별도 스레드에 맡긴다.
스레드의 장점을 극대화 하는 방법
스레드의 장점을 극대화 하는 방법은 스레드 간 통신 을 잘 활용하는 것이다.
여기서 스레드 간 통신이란? 하나의 스레드가 다른 스레드로부터 데이터를 전달받아 처리하는 것을 말한다.