理。例如,在某种情况下,进程A在等待进程B结束后所释放的资源,而进程B又在等待进程A占有的资源。这就是所谓的“死锁”,这也正是复杂应用软件中经常出现的问题,可以作为停滞问题的一种诊断方案。
如果你不清楚进程A及进程B的具体等待原因,那么你甚至不需要明白这到底是不是“死锁”的情况,而别无选择的关掉这两个进程后重新开启。正是这种类似情况,因此对于应用软件而言,进行完全的资源及上锁情况的跟踪是十分重要的,这可以帮助解决这种比较棘手的问题。
Behman: 关于停滞问题的另一个挑战在于,当停滞问题发生时,进程或者线程经常不知道它被停滞了或者何时将被停滞。这种情况和冲突问题是不同的,当冲突问题发生时,进程可以截取大部分的信号,并且信号处理程序可以添加到平台系统中来处理这些特殊情况,例如清理内存,堆栈跟踪等等。但是,当停滞问题发生时,这种特殊的处理程序虽然不是完全不可能进行,但是往往比较灵活,不太固定。
停滞问题发生时,往往去重新启动该系统或者应用软件。有一点需要切记的是,发生停滞问题时,诊断该问题的一些资料和证据经常被活动的内核及应用软件所捕获。如果你不收集这些重要的信息而立即重新启动,那么你永远不知道如何去诊断这种问题,从而也就不可能阻止其将来的再次发生。
对于一些特殊重要的环境而言,系统的稳定性及可靠性是与问页码:[1] [2] [3] [4] [5] [6] [7] 第4页、共7页 |