首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >弱公平和强公平有什么区别?

弱公平和强公平有什么区别?
EN

Stack Overflow用户
提问于 2011-02-27 03:31:20
回答 2查看 11.9K关注 0票数 11

弱公平和强公平有什么区别?包含一组变量和一组操作的示例是什么?

EN

回答 2

Stack Overflow用户

发布于 2012-12-08 12:45:39

给出了一个过渡图:

  1. Weak公平性确保执行不能永远停留在启用操作导致其他状态的状态。在强公平性中,
  2. 无法在fi中启用任何动作,通常不执行。
票数 9
EN

Stack Overflow用户

发布于 2011-03-14 20:57:55

我不完全确定,但我相信这是答案:

强与弱

如果每个启用的进程最终都会运行,那么调度程序是非常公平的。

如果每个持久启用的进程最终都将运行,调度程序是弱公平的。

对于共享变量程序来说,弱公平是合理的,但是它不是很有用(不能是局部的) book-keeping)

  • For

  • 强公平性是不现实的(过多的

  • 异步进程,弱公平性既是合理的,又是有用的

)。

示例

代码语言:javascript
运行
复制
a!0 k n:=0; go:=true;
do
    (go ^ a?x ! go:=false)
    2 (go ! n:=n + 1)
od

继续执行第二种选择是不公平的,因为这将继续忽略在两个进程之间进行同步通信的可能性,而这可能在无限多的情况下执行。

一个有效的实现应该尽量公平,并且应该确保一个输出命令不会被不合理地延迟,通常是在它第一次变成可执行之后。

什么是公平?

这样的执行不是强公平的,而是弱fair.

  • Assuming强公平性的,程序终止时n=0.

  • 假设弱公平,程序也可能会发散。
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5131261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档