多线程 如何在主线程中判断子线程是否出现卡死 ,如果出现异常卡死 ,就要重启子线程!注:线程卡死并不代表线程执行完了 ,所以用判断线程是否执行完的函数式行不通的。 求高人指点?!
解决方案 »
- DELPHI这种情况怎么办?
- c/s编程的经验问题?
- 怎样编辑listview中的内容?
- 求线索化二叉树的Pascal代码(我的代码附在里面,但是有错,请帮忙Debug)!!!不够的解决后+100
- 有什么方法可将 jpg图像从数据库中提取并显示,而不使用临时文件
- COM+连接出错,真是搞不懂,求教!不,是求救!
- 三层结构的程序?安装时服务器端需要几个dll,我放了dbclient.dll,midas.dll还是不行.那位大虾帮我!!
- 怎么让DELPHI和SOURSAFE配合使用?
- 怎样在Delphi中修改SQL2000中的用户密码?
- 薪资大调查:广州DELPHI、VB程序员的薪水为多少RMB/M?????负责项目是什么?
- 小弟初学。下载了一个带源码的系统。程序运行说明如下,我不知道该如何做,请大虾指点!
- ADOQuery 查询语句怎么写?
可以让 线程 定时为自己的一个flast:Tdatetime赋值:=now;
主线程检测线程的flast与now相差如果超过指定5分钟,就是需要杀掉重启线程
原理:
工作中一直喂狗,一但长时间狗没有进食,狗就会认为单片机死机了。你可以声明一个全局变量 I : Integer ,主线程一直 inc(i),子线程负责 i := 0 ;一但I > N ,就可以认为线程已经死了。
子线程里就不要再用timer了
直接在自己循环时每100(取决于循环周期)次赋值一次好了
楼上的一个加、一个清的机制也可以