当前位置: 首页 > 知识库问答 >
问题:

信号量的意义是什么。排水许可证()?

宇文兴言
2023-03-14

公共int drainPermes():

获取并返回所有立即可用的许可证。返回:获取的许可数。

为什么有人想要从信号量获取并立即释放所有可用许可证?如果他们想查看可用许可证的数量,为什么不使用Semaphore.available许可证()

共有1个答案

百里金林
2023-03-14

它不会释放它们。它获得了所有这些,仅此而已:

Semaphore s = new Semaphore(10);
System.out.println(s.availablePermits()); // 10
s.drainPermits();
System.out.println(s.availablePermits()); // 0
 类似资料:
  • 在信号量(java.util.concurrent.Semaphore)初始化期间,我没有得到负许可背后的基本原理。 我知道调用release()方法最终可能会使信号量的许可证大于等于1( 然而,我没有得到任何实际的用例,在这种情况下,我将使用负许可初始化信号量。 参考样本代码:

  • 问题内容: 当有人谈论给对象补水时,这是什么意思? 我在网上看到一个名为Hydrate的Java项目,该项目可以在不同表示形式(RDMS到OOPS到XML)之间转换数据。这是物体水化的一般含义吗?在表示之间转换数据?这是否意味着要从存储的表示形式重建对象层次结构? 问题答案: 关于更通用的术语 水合物 对对象进行水化处理是获取内存中存在的,尚未包含任何域数据(“真实”数据)的对象,然后使用域数据(

  • 问题内容: 好的,这可能有点钝了,但是Node.js的目的/需求是什么 我主要通过CloudFoundry注意到了它,但是不太确定它应该做什么。但是我猜想它可能相当大,因为为什么VMWare会支持它。 提前致谢。 问题答案: 这是一个… 高效且100%事件驱动的IO框架, 足够灵活,可以使用它可以找到的最佳基础操作系统功能, 以高级编程语言(客户端最有可能使用的相同语言)展示API, 在该语言的最

  • 我今天遇到了,我不确定我是否理解它的用途。。。在Spring文档中,它说 允许同一类处理多个请求类型的控制器实现。这个类的子类可以用表单的方法处理几种不同类型的请求 在另一个网站上,他们说 它将多个请求处理方法聚合到单个控制器中,因此相关功能可以很容易地保持在一起。 我仍然不明白扩展与下面的相比是更好还是不同?或者,更像是旧版本Spring的遗留产品?我觉得我有一些基本的误解。。。

  • 问题内容: 我剖析了一些代码,并发现了这一点, 我想知道“?” 在WHERE语句中执行。它是某种参数持有人吗? 问题答案: 准备好的陈述使用“?” 在MySQL中允许将参数绑定到语句。如果使用得当,则高度认为可以更安全地防止SQL注入。这也允许更快的SQL查询,因为该请求仅需编译一次即可重用。

  • 问题内容: Java中的互斥量和信号量是什么?主要区别是什么? 问题答案: 信号量可以计数,而互斥量只能计数为1。 假设您正在运行一个接受客户端连接的线程。该线程可以同时处理10个客户端。然后每个新客户端将信号量设置为达到10。当信号量具有10个标志时,您的线程将不接受新连接 互斥锁通常用于保护物品。假设您的10个客户端可以访问系统的多个部分。然后,您可以使用互斥锁保护系统的一部分,因此当1个客户