有没有办法在短时间内获得Semaphore
然后在该时间间隔之后释放它,只需一行代码?查看信号量文档http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Semaphore.html我没有看到,但我不熟悉所有术语。
或者,在TimerTask
运行时是否有另一种获取信号量的方法,然后自动释放它?
答案 0 :(得分:0)
您可以使用try-with-resources变体:try (Foo foo = new Foo();) { ... }
,对象Foo()
的构造函数获取信号量,foo.close()
方法释放信号量。