작업의 할당 단위인 프로세스내에 존재하는 실행의 한 단위이다. 프로세스 ⊃ 스레드.
스레드는 프로세스를 구성하는 요소이기 때문에, 프로세스가 할당받은 메모리, 자원 등에 대해서도 공유가능하다.
그렇기 때문에 프로세스의 실행, 준비, 대기 등의 상태를 가질 수 있고 이것을 문맥교환(Thread 문맥교환) 을 수행한다고 한다.
스레드끼리는 각각의 스택과 레지스터 를 가진다.
(독립적 호출과 실행이 가능. 스레드의 할당스케줄이 가변적이기 때문에 각 스레드마다 진행 시점의 명령어 수행을 기억하기 위해 각각 할당한다.)
한번의 하나의 스레드만이 실행될 수 있다.
프로세스보다 상대적으로 생성과 종료, 스레드 사이의 전환시간이 짧게 소요됨
프로세스의 메모리, 자원을 동일하게 공유가능하므로 스레드간 상호통신도 가능
쉽게 말해, 자원을 할당받는 작업 단위를 말한다.
실행중인 현재 프로그램의 작업단위를 생각하면 된다.