虽然银行动态分配资源以确保系统始终安全,但如果其中一个线程没有放弃已分配的资源(由于某些无限循环或其他原因)导致银行无法满足其他线程怎么办? '需要?这会被称为死锁吗?
问问题
549 次
1 回答
0
在银行家算法的正式论证中,假设所有程序在有限的时间后返回它们的资源,所以从技术上讲,这种情况不会发生(至少,在描述问题的数学完美世界中不会发生;- )。
然而,它仍然不会被认为是死锁——进入无限循环的线程没有等待任何资源,它只是坐在那里没有进展。这种类型的问题只是一个......挂起。几种可能的挂起类型是饥饿和活锁,尽管在最简单的情况下,如果线程只是进入睡眠状态/进入一个什么都不做的无限循环,我知道没有正式的术语来描述它。
于 2015-10-22T08:26:10.960 回答