gpt4 book ai didi

java - 为方法设置时间限制/超时

转载 作者:搜寻专家 更新时间:2023-11-01 03:12:14 26 4
gpt4 key购买 nike

我有一个简单的方法是这样的:

public void foo(int runForHowLong) {
Motor.A.forward();
}

现在希望能够将一个参数传递给 foo(),它为 foo() 的运行时间设置了时间限制。就像我发送 foo(2) 一样,它会运行 2 秒。

最佳答案

您可以使用 AOP 和 @Timeable来自 jcabi-aspects 的注释(我是开发人员):

class Motor {
@Timeable(limit = 1, unit = TimeUnit.SECONDS)
void forward() {
// execution as usual
}
}

当达到时间限制时,您的线程将 interrupted() 标志设置为 true,您的工作就是正确处理这种情况并停止执行。

关于java - 为方法设置时间限制/超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7678121/

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