: 실행되는 프로세스의 내적 맥 혹은 흐름
: 모든 프로그램에는 최소한 1개 이상의 맥이 있음.
오직 1개인 경우 단일 쓰레드(Single-Thread)
단일 쓰레드 다중 쓰레드
* 다중 쓰레드(Multithread)
: 하나의 프로그램에 2개 이상의 맥이 있는 개념
: 예시)
Web 브라우저에서 화면을 출력하는 쓰레드와 데이타 읽어 오는 쓰레드 존재
동영상 플레이어 에서 화면 출력 쓰레드, 동영상 로드하는 쓰레드
워드에서 키보드 입력 받는 쓰레드, 오타를 표시하는 스레드, 자동 저장 쓰레드
* 다중 쓰레드(Multithread)의 구현
: TSS(Time Sharing System)처럼 일정 시간이 지나면 각 쓰레드를 돌아가며 실행함.
: 현대 대부분의 프로그램은 다중 쓰레드로 구현됨.
: 또한 현대의 프로세스는 맥락 교환의 단위가 프로세스가 아니고 쓰레드임
: Code, Data, Files은 공유하고 Registers, Stack, PC 등은 공유하지 않음.
* 쓰레드(Multithread)의 특징
: 프로세스에서 실행 제어만 분리한 실행단위이다.
: 사용자에 대한 응답성을 증가시킨다.
: 프로세스의 자원과 메모리를 공유한다. 따라서 오버헤드가 줄어든다.
: 다중 프로세서 구조에서 각 쓰레드는 다른 프로세서에서 병렬로 실행될 수 있다.
댓글 없음:
댓글 쓰기