有没有一种方法可以在很短的时间间隔内获取一个信号量
,然后在该时间间隔后释放它,只需要一行代码?查看信号量文档 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/