본문 바로가기

운영체제

[운영체제 이론] 스레드(Thread)


1. 스레드(Thread)의 개념

스레드란 프로그램(프로세스) 실행의 단위이며 하나의 프로세스는 여러개의 스레드로 구성이 가능하다.

하나의 프로세스를 구성하는 스레드들은 프로세스에 할당된 메모리, 자원 등을 공유한다.

프로세스와 같이 실행, 준비, 대기 등의 실행 상태를 가지며 실행상태가 변할때마다 스레드 문맥교환(context switching)을 수행한다.

각 Thread별로 자신만의 스택과 레지스터를 가진다.

한순간에 하나의 스레드만이 실행 가능하다.

(인텔 CPU의 스레드 개념과는 차이가 있다)


2. 스레드(Thread)의 장점

스레드는 프로세스보다 생성 및 종료시간, 스레드간 전환시간이 짧다.

스레드는 프로세스의 메모리, 자원등을 공유하므로 커널의 도움없이 상호간에 통신이 가능하다.