在多任务系统中,一些异常情况会阻止执行进程或线程的进度。我将把进程和线程简单地称为“进程”。其中两个条件称为死锁和活锁。什么是饥饿?
前者指的是互相阻塞的进程,因此阻止执行。后者是指阻止彼此进展的过程,但并不实际阻止执行。例如,他们可能会不断导致对方回滚交易,而且无法完成交易。
另一种情况称为资源匮乏,其中进程进程所需的一个或多个有限资源已被其耗尽,并且除非进程进展,否则无法恢复。这也是活锁的特例。
我想知道是否有任何其他定义,特别是学术定义,因为“饥饿”不限于“资源匮乏”。特别欢迎参考。
而且,不,这不是家庭作业。 :-)
虽然你在这个问题上,你也应该检查锁定车队,他们是非常有趣的。和讨厌。 http://en.wikipedia.org/wiki/Lock_convoy – 2009-07-22 23:45:44
即使它是作业,这将是我见过的最好的家庭作业问题。 – 2017-12-14 23:12:31