多线程管理类
2010-09-04 20:48:19 来源:WEB开发网核心提示:这里要注意两个地方:1.CYGMulThread的模板是用被派生出来的类,这里的好处,多线程管理类(3),就是可以使CYGMulThread可以使用被派生出来的东西,至于还有什么好处,CMulThreadDlg有了这样的头定义后,就可以使用下面的行为了void CMulThreadDlg::ThreadFunc(){D
这里要注意两个地方:
1.CYGMulThread的模板是用被派生出来的类,这里的好处,就是可以使CYGMulThread可以使用被派生出来的东西,至于还有什么好处,有兴趣的朋友可以看一下ATL和WTL里的代码,里面大量使用这种结构。
2.这里用的私有继承,当然也可以用公用继承:),个人觉得这样私有继承,数据封装性好一点。
CMulThreadDlg有了这样的头定义后,就可以使用下面的行为了
void CMulThreadDlg::ThreadFunc()
{
DWORD dwID=GetCurrentThreadId();
while (1)
{
// g_cs1.Lock();
TRACE("线程:%x 路过
",dwID);
// g_cs1.Unlock();
Sleep(200);
if (IsBreakThread())
{
// g_cs1.Lock();
TRACE("线程:%x要结束了!
",dwID);
// g_cs1.Unlock();
return ;
}
Sleep(10000);
}
}
//创建线程
void CMulThreadDlg::OnBtnDebug()
{
YGBeginFuncThread(ThreadFunc,10);//创建10个线程,其函数为ThreadFunc,这里ThreadFunc是CMulThreadDlg的成员函数
}
//结束线程
void CMulThreadDlg::OnBtnStop()
{
EndAllThread("正要结束线程....");
}
- ››管理/var/spool/clientmqueue/下的大文件
- ››管理私有云,第 2 部分: 使用 WebSphere CloudBur...
- ››管理 Eclipse 环境:Eclipse 维护的神秘艺术
- ››管理私有云:WebSphere CloudBurst Appliance 命令...
- ››线程状态图
- ››管理启动项 - Windows 7中的BCDEDIT命令
- ››管理Exchange 2003注意事项
- ››管理好超级管理员帐户堵住系统漏洞
- ››管理数据中心资源池需要注意的事项
- ››管理虚拟化环境的两大重要标准:VMAN和OVF
- ››管理与技术有机结合 保障网络安全运行
- ››管理Windows内部数据库(MICROSOFT##SSEE)实例
更多精彩
赞助商链接