【问题标题】:How to Barriers implementation at OS如何在操作系统上设置障碍
【发布时间】:2018-12-18 18:19:58
【问题描述】:

如何阻止多个进程/线程等待代码中的特定位置,直到系统中的其他线程到达同一位置?

这里是带有示例的放大信息的链接。感谢您的建议和cmets。

Document View

【问题讨论】:

  • 来自文档:您应该使用您所使用的库提供的 Semaphor 和/或 Mutex。 如果您不确定如何继续,我' d 建议阅读信号量和互斥锁,因为对那里的深入了解应该会引导您找到问题的答案。
  • 障碍不要等待。这就是为什么在 Java 上下文中讨论内存屏障毫无意义的原因之一。您需要 happens-before 关系来构建正确的多线程程序。该规范甚至没有提到“内存屏障”。

标签: java operating-system memory-barriers


【解决方案1】:

您可以使用 java.util.concurrent.CyclicBarrier 或 Java.util.concurrent.CountDownLatch 来自 java 并发 api。

对于您的问题,Java.util.concurrent.CyclicBarrier 看起来更合适,但又取决于完整的要求。

请在下面找到参考链接:

CyclicBarrier

CountDownLatch

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-17
    • 2021-12-26
    • 2023-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多