java 设置一个变量定时更新
时间: 2023-07-01 14:07:53 浏览: 139
你可以使用 Java 的 Timer 和 TimerTask 类来实现定时更新变量。以下是一个示例代码:
```java
import java.util.Timer;
import java.util.TimerTask;
public class VariableUpdater {
private Timer timer;
private int variable;
public VariableUpdater(int initialVariableValue) {
this.variable = initialVariableValue;
this.timer = new Timer();
}
public void startUpdatingVariable(long periodInMillis) {
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
// 更新变量的值
variable++;
System.out.println("变量值已更新为 " + variable);
}
}, 0, periodInMillis);
}
public void stopUpdatingVariable() {
timer.cancel();
}
}
```
在上述代码中,我们创建了一个 VariableUpdater 类,它包含一个变量和一个 Timer 对象。在类的构造函数中,我们初始化了变量和 Timer 对象。然后,我们定义了一个 startUpdatingVariable 方法,它接受一个 long 类型的参数 periodInMillis,表示变量更新的时间间隔,以毫秒为单位。在这个方法中,我们使用 Timer 对象的 scheduleAtFixedRate 方法来定期更新变量的值。最后,我们定义了一个 stopUpdatingVariable 方法,它用于停止定时更新。
你可以使用以下代码来测试 VariableUpdater 类:
```java
public static void main(String[] args) {
VariableUpdater updater = new VariableUpdater(0);
updater.startUpdatingVariable(1000); // 每秒更新一次变量值
try {
Thread.sleep(5000); // 程序等待 5 秒钟
} catch (InterruptedException e) {
e.printStackTrace();
}
updater.stopUpdatingVariable(); // 停止更新变量值
}
```
在上述代码中,我们创建了一个 VariableUpdater 对象,并调用 startUpdatingVariable 方法来开始定时更新变量的值。然后,我们使用 Thread.sleep 方法使程序等待 5 秒钟,以便观察变量值的更新。最后,我们调用 stopUpdatingVariable 方法停止更新变量的值。