慎用TerminateThread
来源:互联网 发布:恐怖小说推荐知乎 编辑:程序博客网 时间:2024/04/30 12:03
using namespace yaogl;ThreadMutexg_mutex;voidtellme(void* p){for (int i = 0;i < 100; ++i){ThreadAutoMutexmutex(g_mutex);printf("%d/n",i);}}int _tmain(int argc, _TCHAR* argv[]){ThreadFactorycf1;ThreadFactorycf2;cf1.Create(&tellme,NULL,true);cf2.Create(&tellme,NULL,true);cf1.Resume();cf2.Resume();Sleep(5);cf1.Kill();cf2.WaitForFinish();return 0;}这里有个比较隐蔽的死锁问题,当cf2被Kill的时候(TerminateThread),线程没有机会做清理工作,也就说说加锁后、解锁前线程可能被Kill掉,这样的话进入死锁状态。尽管我使用了AutoMutex,问题依然很明显,这说明,TeminateThrad是个非常可怕的东东。
- 慎用TerminateThread
- TerminateThread
- 慎用!
- 慎用""
- WinCore--TerminateThread--
- TerminateThread危险
- TerminateThread危险
- 绝对绝对不要TerminateThread
- TerminateThread的缺点
- CloseHandle()、TerminateThread()、ExitTread()区别
- TerminateThread函数学习
- terminatethread导致内存泄露
- 线程天敌TerminateThread与SuspendThread
- CloseHandle(),TerminateThread(),ExitThread()的区别
- [转]绝对绝对不要TerminateThread
- CloseHandle(),TerminateThread(),ExitThread()的区别
- CloseHandle(),TerminateThread(),ExitThread()的区别
- CloseHandle(),TerminateThread(),ExitThread()的区别
- 张思名的JAVA教程的实验程序(4~5)
- 指针数组和数组指针
- ibatis 学习笔记 包括第一个例子
- JavaScrip length 属性
- 正式运行
- 慎用TerminateThread
- 强大又具实用性的 GreenBrowser 表单填写和管理功能
- javascript 控制窗口关闭并刷新另一页面
- Struts 国际化的一个完整例子(转)
- VC截屏的一些实现方法
- xml文件操作
- 全局对象通信的缺点
- 获取局域网内所有可用的SQL Server服务器列表
- 检测连接SQL Server服务是否成功