你先在自己定义的线程的头文件里面定义一个结构
比如:struct WorkThreadInfo
{
....
HANDLE mainTread;
}//在开始工作线程时
先初始化一下结构AfxBeginThread(WorkThread,&WorkThreadInfo);
比如:struct WorkThreadInfo
{
....
HANDLE mainTread;
}//在开始工作线程时
先初始化一下结构AfxBeginThread(WorkThread,&WorkThreadInfo);
解决方案 »
- 怎样把自己做的控件放到其它项目里?
- error C2065: 'OnPaint' : undeclared identifier 是什么原因啊???
- 宽窄字符问题?怎么让中文程序在英文系统中使用,是不是把字符都转换成UTF-8就可以了?
- 如何删除对话框的‘X’按纽
- 如何添加activeX控件
- xstring(麻雀),进来给分了!
- 请问,虚拟光驱原理
- 小妹第一次来,希望大家多多帮助啊~~~~有关CRecordView的问题
- 我用ADO连接数据库出现这样的提示:"UnHandle exception in ADODB.exe(Kernel32.dll):OxE06D7363:Microsoft C++ Exception",这是怎么回事
- 请问:一个应用程序发布时需要为每个发布的实例建立一个唯一标识用GUID好不好?
- 关于VC++添加控件的问题
- vc,mssql7读写数据库
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;
}
线程函数返回以后线程不就结束了吗?不需要另外的代码啊。