【发布时间】:2015-11-04 22:22:17
【问题描述】:
我在网上找peterson的算法,好像分不清是不是抢占式的。
抢占式 - 非自愿调度,操作系统决定何时停止进程
非抢占式 - 进程完成后自愿放弃 CPU
我觉得彼得森的算法似乎是非抢占式的,因为没有提到进程的优先级。
正确吗?有人能解释一下吗?
【问题讨论】:
-
你从哪里得到这些定义的?它们看起来 - 不完整 - 充其量。
-
我在一个在线示例中找到了这个 - 只是想看看我对上述代码的回答是否正确?
-
"somewhere" 对于重要的定义来说确实是一个很好的参考。您应该继续使用此类引用(免责声明:评论可能包含讽刺)。算法通常两者都不是。那是执行的问题。请使用可靠的参考资料进行更多研究。您似乎混淆了一些短语和概念。
-
并且:除非问题需要,否则不要发布图片!
-
离题:彼得森的算法是在 1981 年开发的,当时处理器还很原始,即简单。您不应该尝试在现代处理器上使用 Peterson 算法。见lockless multithreading。
标签: c algorithm process preemptive