gpt4 book ai didi

java - ScheduledExecutorService - 更新里面的数据

转载 作者:行者123 更新时间:2023-12-02 02:02:43 24 4
gpt4 key购买 nike

我有 ScheduledExecutorService,我正在尝试更新内部数据但没有结果

public void myMethod(final String myString) {
myExecutor.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
System.out.println(myString);
}
}, 0, 10000, TimeUnit.MILLISECONDS);
}

现在我想从应用程序中的其他位置更改此字符串

myMethod(myString);

我有多个线程,有时有旧数据,有时有新数据?
如何解决?

最佳答案

一种可能是关闭您的ExecutorService。这将停止您提交的任务。

myExecutor.shutdown();
myExecutor.shutdownNow();

如果你想再次调度它,你需要创建一个新的ExecutorService,因为一旦关闭它就无法重复使用。然后,您可以使用 myString 的新值重新安排您的任务。

private void scheduleTask(ExecutorService service, String myString) {
service.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
System.out.println(myString);
}
}, 0, 10000, TimeUnit.MILLISECONDS);
}

关于java - ScheduledExecutorService - 更新里面的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51323389/

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