1. 스레드란
- 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위
- 모든 프로세스는 한 개 이상의 스레드가 존재하여 작업을 수행
- 두 개 이상의 스레드를 갖는 프로세스의 경우 멀티 프로세스로 표현
- 스레드를 사용하여 프로그램의 여러 부분을 동시에 수행 가능
- 프로그램의 여러 부분을 수행하는 최소의 실행 단위를 스레드라고 표현
- 한 프로세스 내에서 동작되는 여러 실행의 흐름으로 프로세스 내의 Heap, Data, Code 영역 공유
- 멀티 스레드의 경우, 스레드 간의 자원을 공유하고 자원의 생성과 관리의 중복성을 최소화하여 수행 능력 향상
2. 스레드 수행 시 필요 정보
- program counter → 프로그램의 어느 부분을 실행하고 있는지에 대한 정보 저장
- stack → 함수를 호출하는 순서(function call)에 대한 정보 저장
3. 스레드 메모리
- 스레드는 각각 stack 영역은 할당 받고 나머지 영역은 공유
- 하나의 스레드에서 오류가 발생한다면 프로세스의 다른 스레드도 모두 강제 종료
4. 싱글 스레드 vs 멀티 스레드
4.1. 싱글스레드
장점 |
|
![]() |
단점 |
|
4.2. 멀티스레드
장점 |
|
![]() |
단점 |
|
'IT 학습 용어' 카테고리의 다른 글
데몬(daemon) (0) | 2024.03.16 |
---|---|
프로그램(Programe), 프로세스(Process) (0) | 2024.03.16 |
인터넷 라이브 방송은 기술 (1) | 2023.09.17 |
한글 인코딩에 대해 간단히 정리 (0) | 2022.07.23 |
넷플릭스는 어떻게 콘텐츠를 보호(포렌식 워터마킹) (0) | 2022.07.22 |