java - 可以通过一行代码获取设置超时的信号量,然后释放它吗?

标签 java semaphore

有没有一种方法可以在很短的时间间隔内获取一个信号量,然后在该时间间隔后释放它,只需要一行代码?查看信号量文档 http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Semaphore.html我没有看到这些,但我不熟悉所有术语。

或者,是否有另一种方法可以在 TimerTask 运行时获取信号量,然后自动释放它?

最佳答案

您可以使用 try-with-resources 变体:try (Foo foo = new Foo();) { ... } 与对象 Foo() 获取信号量,foo.close() 方法释放它。

关于java - 可以通过一行代码获取设置超时的信号量,然后释放它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19653888/

相关文章:

java - 如何从 JUnit 线程中断信号量?

java - Java 中组件的基线是什么

java - 用于数据库持久化的多算法密码哈希结构

java - 是否可以在 Drombler FX 中检索 HostServices 接口(interface)?

stack-overflow - 在 FreeRTOS 中从 ISR 提供​​信号量后堆栈溢出

c - 调用 sem_open() 时的 SIGSEGV 信号

java - 序列化接口(interface)

java - 在 solr 中进行分面时出现问题

c++ - Unix 信号量 - 无法设置初始值

c - 使用信号量的读者优先级