多线程问题.为什么会出错?
#include "stdafx.h"
#include "stdio.h"
#include <Windows.h>
DWORD WINAPI ThreadProc(LPVOID lpParameter)
{
while(1)
{
DWORD dwThreadID = ::GetCurrentThreadId();
printf("thread 2 is rurnning!\n");
}
return 0;
}
void main()
{
DWORD dwThreadId;
HANDLE hThread = ::CreateThread(NULL,
0, //栈大小,0默认
ThreadProc, //过程函数
NULL,0 //参数地址
, //CREATE_SUSPENDED挂起的线程, 0创建后立即跑代码
&dwThreadId);
//::ResumeThread(hThread);
while(1)
{
DWORD dwThreadID = ::GetCurrentThreadId();
printf("thread 1 is running!\n");
}
//为什么会出错?
::TerminateThread(hThread,0);
}