당신은 스레드를 만들 때 반환 된 스레드 핸들을 사용해야합니다. CreateThread
에 대한 설명서를 참조하십시오. SuspendThread
; 및 ResumeThread
. 문서에서 CreateThread
에 특히
: 함수가 성공하면
는, 반환 값은 새 스레드에 대한 핸들입니다. 함수가 실패하면 반환 값은 NULL입니다.
예 :
HANDLE thread_handle = CreateThread(/*args*/); // hold on to this value (and check for failure)
if (thread_handle == NULL)
{
// handle creation error
}
DWORD suspend_retval = SuspendThread(thread_handle);
if (suspend_retval == static_cast<DWORD>(-1))
{
// handle suspend error
}
Scr_AddInt(1); // original work
DWORD resume_retval = ResumeThread(thread_handle);
if (resume_retval == static_cast<DWORD>(-1))
{
// handle resume error
}
이는 스레드 생성, 정지, 재개, 및 종료를 캡슐화 래퍼 클래스를 생성 할 가치가있을 수있다. 이 클래스는 내부적으로 모든 오류 검사를 수행 할 수 있으며 적절할 때 예외를 throw합니다.
스레드 **는 일부 메모리 주소가 아닙니다. 스레드 ID와 프로세스 ID를 찾습니다. – Deduplicator
나는 0x8354F7A8 인 threadid를 분납하지만 processid http://gyazo.com/13a976b7993ce574ff9489d82110f1cc가 보이지 않는다. – HorseFrog
스레드 ID는 너무 커서 ... – Deduplicator