컴퓨터 프로그래밍

[운영체제] 쓰레드

THINK_PRO 2014. 4. 17. 15:13

쓰레드

 독립적으로 실행되는 코드들의 집합



여러 개의 실이 엮여서 하나의 천을 이루는 것과 같이 여러 개의 독립적으로 수행되는 단위들이 결합하여 하나의 작업을 이루는 것에서 연유. (The name 'thread' is by analogy with the way that a number of threads are interwoven to make a piece of fabric....)


* 쓰레드는 CPU utilization의 기본 단위이며, Light Weight Process(경량 프로세스)라고 부르기도 한다. 

* 쓰레드와 프로세스의 가장 큰 차이는 바로 자신의 주소공간을 가지지 않는다는 것이다. 프로세스는 자신의 프로그램 카운터, 레지스터 값들, 그리고 주소 공간을 가진다. 

* 하지만 쓰레드는 자신의 프로그램 카운터, 레지스터 값만을 가지고 자신의 주소공간은 가지지 않는다. 자신의 주소 공간을 가지지 않는 대신, 다른 쓰레드와 주소 공간을 공유한다.