如题!
解决方案 »
- 菜鸟提问:关于重复定义的问题!
- 远程桌面登录,调用OpenClipboard()函数问题
- 复合控件问题,ActiveX包含另一个ActiveX
- 有关WMI的一个程序问题???
- 小妹请教各位高手关于多媒体流多电传输问题!!
- 如何在视频图象上进行裁剪,然后保存该图片,求类似程序,急
- 如何在RichEditCtrl中显示UNICODE字符!
- 如何判断用户输入的密码与2000中当前登录账号的密码比较,是否正确?
- deng登陆验证的问题
- 请问:什么情况下两个对象直接用等号附值,出了重载operate=号外?为何我自定义的一个普通class之间的对象可以直接附值,而mfc类对象不行??
- 窗口分割后的大小如何随着窗口大小的改变而改变
- 请教扩展CFileDialog,报错问题。
建议让线程处理完后,自己返回
一:创建线程:
g_TheadInfo.hGetDataThread=::CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)GetDataThread,&g_TheadInfor,CREATE_SUSPENDED ,&ThreadID);
UINT GetDataThread(LPVOID lpParam)
{
CTheadInfo *pThreadInfo=(CTheadInfo*)lpParam; int nFun=0;
while( pThreadInfo->bExitThread==FALSE)
{
pThreadInfo->TheFun();
}
return 0;
}
二:当点击按钮时执行如下代码:
int n=::ResumeThread(g_TheadInfo.hGetDataThread);
if(n>=2)for(int i=1;i<n;i++)
::ResumeThread(g_TheadInfo.hGetDataThread);
还有,俺知道线程池可以限定资源,但是,怎样创建?谢谢!
请看8楼说的,如果线程里要调用C运行时库函数,建议使用_beginthreadex()核心编程里还提到 如果用CreateThread(),会造成资源释放不完全