【发布时间】:2023-09-27 08:10:01
【问题描述】:
在https://en.m.wikipedia.org/wiki/Mutual_exclusion#Software_solutions的文章中给出了
如果在执行它们的平台上使用乱序执行,这些算法将不起作用。程序员必须对线程内的内存操作指定严格的顺序。
但是这些算法是简单的 C 程序,如果我们不能确定它们在 ooo 系统中是否按预期工作,我们如何确定我们的其他程序可以正常工作? 这些程序在 ooo 情况下会做什么失败? 基本上ooo程序什么时候不工作,所以我们可以小心使用它们? 我们可以信任 ooo 处理器来完成我们编写的代码吗?
【问题讨论】:
-
使用操作系统内核锁定。这肯定会奏效,(否则您的操作系统将无法通过引导)。
标签: c optimization concurrency processor mutual-exclusion