并行计算 死锁 活锁

绪论

从OverStackFlow搬运的一个回答,原回答请见这里第一个回答

正文

在并行计算中,死锁是指这样的一种状态:在一个组中的每一个操作都在等待某一个其他成员去释放掉那个成员的锁。活锁与死锁相似,除了与活锁相关的进程总是会随着一个其他的进程而改变,但是进程不会运行。活锁是一种资源饥饿的特殊情况。广义的定义只说明了一个特定的进程没有运行。
活锁在一个现实世界中的一个例子:当两个人在一个狭窄的走廊遇见了,而且每个人都尝试通过让另外一个人先通过来表现得礼貌。但是因为他们总是重复地以相同的方式移动,所以他们最终只是从一边走到另外一边。
活锁对于一些检测死锁并从中恢复的算法来说是一种风险。如果多个进程运行,那么死锁检测算法会被反复地激发。通过确保只有一个进程(随机选取或通过优先级)运行,这一点可以被避免。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

培之

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值