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