스레드
- 프로세스 내에 존재하는 실행 경로, 일련의 실행코드
프로세스는 단지 존재하기만 하는 껍데기, 실제 작업은 스레드가 담당
프로세스 생성 시 하나의 주 스레드가 생성
프로세스 생성 시 하나의 주 스레드가 생성되며 대부분의 경우
주 스레드가 모든 작업을 처리하고 주 스레드가 종료되면 프로세스도 같이 종료
운영체제는 스레드 별로 골고루 CPU 시간을 분배하므로 한 스레드가 시간을 지나치게 오래 끌더라도
다른 스레드가 이에 영향을 받지 않고 실행
하나의 운영체제에 여러 개의 프로세스가 동시에 실행되는 환경을 멀티 태스킹
멀티 스레드 - 하나의 프로세스에서 여러 개의 스레드가 동시에 실행되는 환경
운영체제 차원에서 지원되며 일부 하드웨어의 지원까지 받으므로 아주 부드럽게 실행되며 신뢰성이 있음
HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes,
DWORD dwStackSize,
LPTHREAD_START_ROUTINE lpStartAddress,
LPVOID lpParameter,
DWORD dwCreationFlags,
LPDWORD lpThreadId );
스레드가 생성되면 스레드의 핸들을 리턴
에러가 발생했을 경우 NULL을 리턴
댓글