Java Unisex浴室使用信号量&显示器

时间:2012-08-18 14:12:41

标签: java concurrency semaphore monitor

我已经设置了并发编程的任务,以编写一个男女皆宜的厕所。这个主题似乎是一个很常见的任务。对于那些不熟悉的人,规则被设定(至少在这种情况下)

  • 浴室可供男性和女性使用,但不能同时使用。
  • 你马上可以同时拥有的人数最多为5人。
  • 如果使用信号量,则必须自己实现。

我在这个主题之前很久没有编码了,而且我的知识很生疏。我最初只使用计数器对其进行编码,并且在通过程序理解信息流时遇到了问题,而且该版本无处可去!

所以我重新开始,我想知道我应该采取什么样的方式。我最初的想法是有一个厕所,用二进制信号量实现,带有浴室监视器,限制为5.

我还读过这个问题背后的想法可以让每个人都成为一个主线。如果是这种情况,它可能会很混乱,因为我已经尝试了一次线程池(几周后),它从来没有为我跑过。 : - /

目前我还没有代码可以展示,所以我最关心的是如何设置内容。

1 个答案:

答案 0 :(得分:1)

看起来这个问题已经在java中解决了 Cormac Redmond