Computer/etc.
스레드(Thread)란?
Hardner
2019. 2. 11. 19:09
스레드(Thread)란?
- 프로세스가 할당받은 자원을 이용하는 실행의 단위이며, 일반적으로 하나의 프로세스에는 하나의 스레드를 가지지만 둘 이상의 스레드를 실행 할 수도 있다. 이러한 실행 방식을 "멀티스레드(Multithread)"라고 한다.
- 스레드들은 프로세스에 할당된 메모리, 자원 등을 공유한다.
- 각 스레드별로 자신만의 스택과 레지스터를 가진다.
스레드(Thread)의 장점
- 프로세스의 자원을 공유하므로 프로세스간의 통신보다 간단하다.
- 시스템의 자원 소모가 줄어든다.
- 프로그램의 응답 시간이 줄어든다.
- 스레드간 전환시간이 짧다.
스레드(Thread)의 단점
- 여러 개의 스레드를 이용하는 프로그램인 경우에는 설계를 잘 해야 한다. 공유로 인한 오류가 쉽게 발생할 수 있다.
- 프로그램 디버깅이 어렵다.
- 단일 프로세서 시스템에서는 효과를 기대하기 어렵다.