시스템 프로그래밍
12-1. Windows에서의 쓰레드 생성과 소멸
CalebHong
2022. 6. 2. 11:36
SMALL
쓰레드의 생성
- CreateThread 함수를 통해 쓰레드를 생성
ㄴ 첫 번째 전달 인자: 핸들의 상속여부 결정
ㄴ 두 번째 전달 인자: 초기 독립 스택의 사이즈
ㄴ 세 번째 전달 인자: void 포인터를 인자로 받고 DWORD를 리턴하는 함수의 포인터(쓰레드 메인함수)
ㄴ 네 번째 전달 인자: Windows에게 요구할 전달인자 선언
ㄴ 다섯 번째 전달 인자: 쓰레드를 생성과 동시에 Blocked 상태로 둘 지에 대한 옵션 여부
ㄴ 여섯 번째 전달 인자: 고유한 쓰레드의 ID
cf) 핸들은 프로세스가 컨트롤하기 위한 것
생성 가능한 쓰레드의 갯수는?
- 허용 가능한 범위 안에서 최대한 생성 가능
- 별도 사용 스택 공간의 최대치 만큼 생성할 수 있음
쓰레드의 소멸
case 1) 거의 대부분의 경우
: 쓰레드 종료 시 return을 이용하는 것이 유용
case 2) 특정 위치에서 쓰레드의 실행을 종료시키고자 하는 경우
: 쓰레드 종료 시 ExitThread 함수 호출이 유용
case 3) 외부에서 쓰레드 종료시키고자 하는 경우
: 쓰레드 종료 시 TerminateTread 함수 호출이 유용
반응형