你可以在你获得()的另一个线程上调用java.util.concurrent.Semaphore.release()吗?

时间:2018-05-14 11:12:14

标签: java multithreading concurrency java.util.concurrent

我有一个java模块,它需要通过接口同时执行一组任务(为实现模块的框架提供低级控制和处理),但同时不能太多,const似乎是完美的对此。

我不确定的一个问题是java.util.concurrent.Semaphorerelease()来电的线程安全。一个线程可以获取信号量锁,后来又有另一个线程释放它吗?

1 个答案:

答案 0 :(得分:13)

这是关于Javadoc about release()

的说明
  

不要求发布许可证的线程必须具有   通过调用acquire()获得该许可。正确使用一个   信号量是通过应用程序中的编程约定建立的。

是的。你可以做到。