- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[TCP/IP] CreateThread() 본문
쓰레드도 커널에 의해서 생성되는 리소스이므로 커널 오브젝트가 생성될 것이고 함수호출이 끝나면 커널 오브젝트를 의미하는 핸들이 리턴될 것이다.
#include <windows.h>
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes, // Security Descriptor
SIZE_T dwStackSize, // initial stack size
LPTHREAD_START_ROUTINE lpStartAddress, // thread function
LPVOID lpParameter, // thread argument
DWORD dwCreationFlags, // creation option
LPDWORD lpThreadId // thread identifier
- lpThreadAttributes : 생성하는 쓰레드의 보안에 관련된 설정을 위해 필요한 옵션이다.
디폴트(default)보안 설정을 위해서 NULL포인터를 전달한다.
- dwStackSize : 쓰레드를 생성하는 경우, 모든 메시지 공간은 공유하되 스택 공간은
독립적으로 생성된다. 따라서 쓰레드 생성 시 요구되는 스택의 크기를 인자로 전달한다.
0을 전달할 경우 디폴트로 설정되어 있는 스택의 크기를 할당받는다.
- lpStartAddress : 쓰레드에 의해 호출되는 함수의 포인터를 인자로 전달한다.
- lpParameter : lpStartAddress가 가르키는 함수 호출 시, 전달할 인자를 지정해 준다.
- dwCreationFlags : 새로운 쓰레드 생성 이후에 바로 실행 가능한 상태가 되느냐, 아니면
대기 상태로 들어가느냐를 결정하는 요소이다. 그리 중요한 요소는 아니며 0을 전달할 경우
바로 실행 가능한 상태가 된다. 우리는 0을 전달하면 충분하다.
- lpThreadId : 쓰레드 생성 시 쓰레드의 ID가 리턴되는데, 이를 저장하기 위한 변수의 포인터
이다.
실제로 신경써 줄 부분은 lpStartAddress,lpParameter 두 가지뿐이며 나머지는 디폴트 값
혹은 NULL로 전달한다.
[출처] CreateThread()|작성자 꽁이
'★─Programing > ☆─TCP IP' 카테고리의 다른 글
[TCP/IP] PF_INET과 AF_INET 비교 (1) | 2008.12.12 |
---|---|
[TCP/IP] CreateThread 후에 바로 CloseHandle하는 이유 (0) | 2008.05.09 |
[TCP/IP] 임계영역 (Critical Section) (0) | 2008.04.28 |
[TCP/IP] IPv4의 주소체계 (0) | 2008.04.17 |
[TCP/IP] 리눅스 C - sleep 함수 (0) | 2008.03.25 |