하나의 ThreadProc에 대해 CreateThread 함수를 여러 번 호출해서 여러개의 스레드를 만들 수 없을까요?

mydream의 이미지

CreateThread 함수의 원형은 다음과 같고

HANDLE WINAPI CreateThread(
_In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes,
_In_ SIZE_T dwStackSize,
_In_ LPTHREAD_START_ROUTINE lpStartAddress,
_In_opt_ LPVOID lpParameter,
_In_ DWORD dwCreationFlags,
_Out_opt_ LPDWORD lpThreadId
);

세 번째 인자가 스레드 프록을 인자로 받는다고 합니다. 그러면 이렇게 해서 두 번 스레드를 등록하면 스레드가 두 개 만들어지는건가요?

HANDLE hThread=NULL;
for(int i=0;i<2;++i) {
  while( (hThread=CreateThread( , , threadfun, ,..))!=NULL) {}
  CloseHandle(hThread);
}

그러면 threadfun 이라는 인스턴스가 두 개가 만들어지는 것인가요? 그런 의도로 저렇게 해봤습니다. 그런데 스레드 아이디를 확인해보니 두 스레드의 아이디가 같네요. CreateThread 함수의 마지막 인자의 값을 확인해봤더니 말입니다. 스레드 아이디가 같다면 두 개가 같은 인스턴스라는 말이 될텐데요. 두 개의 스레드를 만들려면 스레드 함수의 이름이 달라야만 하는 것인가요? 같은 함수로 독립적인 두 개의 스레드를 만들 수 없나요?

mydream의 이미지

죄송합니다. ==NULL이여야 하느군요. 글 삭제하고 싶은데, 삭제 방법이 없네요.