【问题标题】:What's the best solution for solving this situation with Semaphores?用信号量解决这种情况的最佳解决方案是什么?
【发布时间】:2013-04-30 15:19:42
【问题描述】:

我想试试Java Semaphores,所以想到了这个问题:

有一个火车站,两条铁路穿过,一条在东边,另一条在南边。因此,我们当然应该在每条铁轨的十字路口末端安装传感器,它会告诉我们火车何时通过,而南部或东部铁路可以让其列车启动。

到目前为止,我认为传感器是 Semaphores,火车课程是 Threads,我可以有任何类型的铁路课程,让火车跑起来。

我是 Java Semaphores 的新手,任何建议都将不胜感激

【问题讨论】:

  • 那么交叉口将是您的共同(和关键)资源。你自己有什么想法吗?
  • “你自己有什么想法吗”到底是什么意思?
  • 设想一下代码应该是什么样子。

标签: java concurrency semaphore


【解决方案1】:

您应该只阻止 进入 到受保护区域。把信号量放在那里。

实际上,您应该使用一个信号量和 1 个许可证,因为您有 1 个可保护资源。列车 (Threads) 会在进站前获取,出站后释放。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-16
    • 2015-05-16
    • 2019-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多