프로그래밍 언어 활용
핵심301
스레드(Thread)
출제 빈도
4회
원본 94~95쪽
스레드는 프로세스 내에서의 작업 단위로서 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위이다.
하나의 프로세스에 하나의 스레드가 존재하는 경우에는 단일 스레드, 하나 이상의 스레드가 존재하는 경우에는 다중 스레드라고 한다.
프로세스의 일부 특성을 갖고 있기 때문에 경량(Light Weight) 프로세스라고도 한다.
스레드 기반 시스템에서 스레드는 독립적인 스케줄링의 최소 단위로서 프로세스의 역할을 담당한다.
동일 프로세스 환경에서 서로 독립적인 다중 수행이 가능하다.
• 스레드의 분류
• 스레드 사용의 장점
- 하나의 프로세스를 여러 개의 스레드로 생성하여 병
행성을 증진시킬 수 있다.
- 하드웨어, 운영체제의 성능과 응용 프로그램의 처리
율을 향상시킬 수 있다.
- 응용 프로그램의 응답 시간(Response Time)을 단축
시킬 수 있다.
- 실행 환경을 공유시켜 기억장소의 낭비가 줄어든다. - 프로세스들 간의 통신이 향상된다. - 스레드는 공통적으로 접근 가능한 기억장치를 통해
효율적으로 통신한다.