在Java中增加信号量许可证
问题描述:
答
是的。该release方法(IMO容易混淆的名字命名)可用于递增许可证以来,从文档:
There is no requirement that a thread that releases a permit must
have acquired that permit by calling acquire.
Correct usage of a semaphore is established by programming convention
in the application.
换句话说:
semaphore.release(10);
将增加10多个许可证,如果线程调用具有不获得任何。
thx高手!有用! – KilyenOrs 2012-03-20 15:00:12
+1不错的观察。但是,这是具体的执行权?没有要求Semaphore增量超过构造函数中定义的最大值,也就是说,在稍后的版本中,实现可以更改,删除此功能 – 2012-03-20 15:01:13
@JohnVint - 它不是构造函数中的最大参数。 '可用的许可证的最初数量。这个值可能是负值,在这种情况下,发布必须发生在任何获得授予之前。“负的最大值会有点傻.. – Ishtar 2012-03-20 15:08:18