gpt4 book ai didi

java - java中的超时锁

转载 作者:行者123 更新时间:2023-12-04 05:22:54 24 4
gpt4 key购买 nike

我正在寻找可以帮助我实现以下模式(伪代码)的机制:

TimeoutLock lock = new TimeoutLock();
while(condition) {

prepare();

lock.enter(); //cannot enter until specified lock timeout elapses
execute();
lock.lockFor(2 minutes);

finish();
}

我需要限制对执行的调用不超过某个指定的时间间隔(例如,两分钟),但我不想阻止准备或者如果不需要则执行。我想知道 java 是否支持任何锁定机制,这种机制会在一段时间后“消失”。要求是,当然,lock 不会通过,即使它是由同一个线程输入的,它锁定了它。

我正在考虑涉及信号量和TimerTask的解决方案,或者自己计算截止日期并睡了多余的时间,但我想知道是否已经有这样的东西。

谢谢

最佳答案

不需要特殊的类:

synchronized(lock) {
execute();
Thread.sleep(120 * 1000)
}

关于java - java中的超时锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13518120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com