我有一个程序,在运行很长时间后会发生假死,我想写一个程序来监视它,死了就重启。 我想如果能写在一个进程里就更好了,我想把监视程序写在同一个进程里的另外一个appdomain里,在其中一个appdomain发生死锁时另外一个appdomain会受到影响吗?
到底多线程死锁会不会跨跨越appdomain呢?
因为我的程序假死时间不一定,有时几天,有时十几天,所以不太好测试上面的问题,如果有理论依据会好点。
不会,AppDomain 会隔离状态。
这样治标不治本
解决它死锁的代价太大了,解决此问题我已经将程序全面结构改进多次,代码重写多次,花费近半年时间,但问题还是无法彻底解决。因为我的程序本身就不是一个常规的程序,很难避免一些意外的情况发生,时间不能漫无目的的浪费在这种折磨人的问题上。
@沧海一杰: 话说微软的操作系统多天不重启也会很容易死机。
本质在于你的程序设计中代码出了问题.
程序域只是一个安全的空间.
放一个进程中不同程序域还是一条船上.
需要保障此程序域的[启动者]必须正常运行.
而你的启动者又不能正常运行,
所以此方案是楼主的假想
我要实现的只是自重启功能,如果应用程序域是隔离的,那就不会什么问题,解决它死锁的代价太大了。