본문 바로가기
Computer/OS

스레드를 이용한 다중작업

by 이재만박사 2016. 10. 14.

스레드

- 프로세스 내에 존재하는 실행 경로, 일련의 실행코드


프로세스는 단지 존재하기만 하는 껍데기, 실제 작업은 스레드가 담당


프로세스 생성 시 하나의 주 스레드가 생성


프로세스 생성 시 하나의 주 스레드가 생성되며 대부분의 경우

주 스레드가 모든 작업을 처리하고 주 스레드가 종료되면 프로세스도 같이 종료


운영체제는 스레드 별로 골고루 CPU 시간을 분배하므로 한 스레드가 시간을 지나치게 오래 끌더라도

다른 스레드가 이에 영향을 받지 않고 실행


하나의 운영체제에 여러 개의 프로세스가 동시에 실행되는 환경을 멀티 태스킹


멀티 스레드 - 하나의 프로세스에서 여러 개의 스레드가 동시에 실행되는 환경


운영체제 차원에서 지원되며 일부 하드웨어의 지원까지 받으므로 아주 부드럽게 실행되며 신뢰성이 있음


HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes,

                          DWORD dwStackSize,

                  LPTHREAD_START_ROUTINE lpStartAddress,

                          LPVOID lpParameter,

                  DWORD dwCreationFlags,

                           LPDWORD lpThreadId );


스레드가 생성되면 스레드의 핸들을 리턴

에러가 발생했을 경우 NULL을 리턴

댓글