与银行家算法有关



当银行动态分配资源以确保系统始终安全时,如果其中一个线程不放弃它已分配的资源(由于某些无限循环或其他原因)导致银行的无法满足其他线程的需求,该怎么办?这会被称为死锁吗?

在银行家算法的正式参数中,假设所有程序在有限的时间后返回它们的资源,因此从技术上讲,这种情况不会发生(至少,在描述问题的数学完美世界中不会发生;-)。

然而,它仍然不会被认为是死锁——进入无限循环的线程不是在等待任何资源,它只是坐在那里没有任何进展。这种类型的问题只是一个…挂起。两种可能的挂起类型是饥饿和活锁,尽管在最简单的情况下,如果线程只是进入睡眠/进入一个不做任何事情的无限循环,我知道没有正式的术语来描述它。

相关内容

  • 没有找到相关文章

最新更新