你先在自己定义的线程的头文件里面定义一个结构
比如:struct WorkThreadInfo
{
....
HANDLE mainTread;
}//在开始工作线程时
先初始化一下结构AfxBeginThread(WorkThread,&WorkThreadInfo);
比如:struct WorkThreadInfo
{
....
HANDLE mainTread;
}//在开始工作线程时
先初始化一下结构AfxBeginThread(WorkThread,&WorkThreadInfo);
NULL,
0,
begin_a_thread,
NULL,
0,
NULL);
///
static DWORD WINAPI begin_a_thread(LPVOID lpParam)
{
printf("begin thread\n");
while(1)
{
if(...) break
}
//我想在执行完while后结束本线程
printf("exit thread");
return 0;
}
handle=::CreateThread(NULL,0,WorkThread,(LPVOID)&s,0,&dwThreadId);
DWORD WINAPI WorkThread(LPVOID lpvThreadParm)
{
handle........}
NULL,
0,
begin_a_thread,
NULL,
0,
NULL);
///
static DWORD WINAPI begin_a_thread(LPVOID lpParam)
{
printf("begin thread\n");
while(1)
{
if(...) break
}
::TerminateThread(temp_thread,0);
printf("exit thread");
return 0;
}
{
printf("begin thread\n");
while(1)
{
if(...) break
}
//我想在执行完while后结束本线程
printf("exit thread");
return 0;
}
线程函数返回以后线程不就结束了吗?不需要另外的代码啊。