[운영체제(OS)] 스레드 (Thread), 멀티스레드(Multithreaded Programming)란?
1. Thread란? CPU 수행의 기본단위이며 특히 프로세스 안의 흐름의 단위이다. 스레드가 수행되는 환경을 Task라고 하며 Thread ID, Program counter, register set, Stack space로 구성된다. 각각의 스레드는 레지스터 상태와 스택을 갖는다. Code, Data 섹션이나 운영체제 자원들은 스레드끼리 공유한다. 스레드의 종류 스레드는 지원 주체에 따라 2가지로 나눌 수 있다. User Threads 유저 스레드는 사용자 수준의 스레드 라이브러리가 관리하는 스레드 라이브러리는 스레드의 생성 및 스케쥴링 등 관리 기능을 제공한다. 동일 메모리에서 스레드가 생성 및 관리되므로 속도가 빠르다. 여러 개의 사용자 스레드 중 하나의 스레드가 시스템 호출 등으로 중단되면 나머..