Computer Science/Operating System

스레드(Thread)

DongHo 2023. 5. 14. 03:08

스레드(Thread)

어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위입니다.
Light Weight Process라고도 합니다.

멀티 스레드(Multi Thread)

하나의 프로세스 내에서 둘 이상의 스레드가 동시에 작업을 수행하는 것을 의미합니다.

멀티 프로세싱(Multi Processing)

여러 개의 CPU를 사용하여 여러 프로세스를 동시에 수행하는 것을 의미합니다.

 

스레드(Thread)의 장단점

  장점 단점
Thread 1. 응답성 향상
2. 자원 공유 효율성
3. 작업이 분리되어 코드가 간결
1. 하나의 스레드에 문제가 있어도 전체 프로세스가 영향을 받는다.
2. 스레드를 많이 생성하면, Context Switching이 많이 일어나 성능이 저하됩니다.
3. 동기화 이슈로 비정상적으로 동작할 가능성이 있습니다.

 

프로세스(Process) vs 스레드(Thread)

프로세스(Process) 스레드(Thread)
독립적 프로세스의 서브셋
각각 독립적인 자원을 갖는다. 프로세스의 자원을 공유합니다.
자신만의 주소영역을 갖는다. 주소영역을 공유한다.
프로세스간에는 IPC기법으로 통신해야한다. 그냥 공유된다.

 

 

 

참고

멀티 프로세스와 멀티 스레드

 

 

 

 

Reference
http://donghoson.tistory.com/15