创建一个线程,要保证这线程一直执行,不想用死循环,怎么办呀?
解决方案 »
- CListCtrl里面嵌入进度条
- 使用jpeglib库,弹出遇到问题需要关闭?
- BCG风格如何保存上次修改工具条的位置吗?
- CTreeView的OnSelchanged问题
- 如何加载Resource Files里面的HTML文件
- 请各位大侠:我要读入的文件中有整型字段和64位双精度字段是按大尾排列的,怎样把它转为小尾!!
- 请问结束线程时怎样收回线程的资源?
- 请问如何把FORM视图或对话框中的数据显示在CVIEW视图上呢?
- 急寻,书配套光盘
- 用ADO在win98 与 win2000下的性能为何如此悬殊?欢迎大家踊跃讨论
- 在CStatic上动态创建button的消息响应
- 求助!想在VC的listcontrol上面显示sql数据,采用ODBC连接
同理,你的那个线程函数执行完,那个线程就寿终正寝了。估计你的意思是,在函数里面需要不停的做某事,但是这事周期比较短,也不需要太大的频率,1、用定时器
2、用消息驱动
extern BOOL bQuit; ///退出标志。
DWORD WINAPI ThreadProc(void * p)
{
while(1)
{
//线程等待事件
WaitForSingleObject(hEvent , INFINITE);
if(bQuit)
break;
//有工作要做了
//do something
}
void Quit()
{
bQuit = TRUE;
SetEvent(hEvent);
WaitForSingleObject(hThread);
CloseHandle(hThread);
CloseHandle(hEvent);
}