2017-01-26 124 views
-1

想象一下多个进程尝试使用共享资源的情况。某些关键部分

您可以通过使用java监视器(例如 - 同步方法)来保护它。

但是如果你的课程必须遵守该协议呢?

请求方法 - 关键部分 - 结束方法

任何过程是唯一一个同时执行该请求,并结束方法,由于同步块,但对于临界区的核心?

使用其他结构像信号灯或锁定/条件,你可以很容易,但与本机监控你绑定的事实,一个同步是由一个不能跨越多个方法的块识别的事实。

如果您使用boolean来告诉您资源是否繁忙(紧随其后调用wait()),可能会发生死锁!

那么,有什么可能是一个很好的解决方案呢?

+7

你一定要看看这个分裂出去为两个独立的问题来代替。你可以在这里选择一个问题来询问,稍后再离开另一个问题。 – Makoto

+0

你甚至可以同时发布另一个。 –

+1

做东西 - >为你的关键部分调用同步方法 - >做东西 – user2677821

回答