gpt4 book ai didi

java - 使用线程监控HashMap更新

转载 作者:行者123 更新时间:2023-12-01 12:47:37 26 4
gpt4 key购买 nike

使用 Java 线程监视 Java 数据结构更新的最佳方法是什么?我将通过实现 Runnable 接口(interface)来创建一个线程。该线程需要每 10 分钟 sleep 和唤醒一次,并检查 HashMap 是否已更新。在 Java 中执行此操作的最佳方法是什么?任何帮助,非常感谢

最佳答案

尝试:

ScheduledExecutorService daemon = Executors.newScheduledThreadPool(1);
daemon.scheduleWithFixedDelay(new MyRunnable(myMapToCheck),
10, 10, TimeUnit.MINUTE);
//...
private static class MyRunnable implements Runnable {
private final Map<K, V> lastState;
private final Map<K, V> map;

public MyRunnable(Map<K, V> map) {
this.map = map;
this.lastState = new HashMap<>(map);
}

@Override
public void run() {
// copy to avoid changes before updating lastState
Map<K, V> currentState = new HashMap<>(map);
if(currentState.equals(lastState)) {
System.our.println("No change");
} else {
System.our.println("Change!");
}
lastState.clear();
lastState.putAll(currentState);
}
}

关于java - 使用线程监控HashMap更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24534842/

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