我试图让一些代码仅执行 2 次,每次执行之间延迟 500 微秒。
到目前为止,我已经使用 ScheduledExecutorService
和 int 计数器
来跟踪 ExecutorService
运行我的代码的次数,但我想知道这是否是一个好方法以及是否有更好的方法:
private void dingdong() {
ScheduledExecutorService exec = Executors.newSingleThreadScheduledExecutor();
exec.scheduleAtFixedRate(new Runnable() {
int count;
@Override
public void run() {
count++;
//TODO operation
if (count == 2) {
exec.shutdownNow();
}
}
}, 0, 500, TimeUnit.MICROSECONDS);
}
最佳答案
我认为 ExecutorService
太过分了。如果您只使用普通线程,它可以运行您的操作, hibernate ,然后再次运行。
new Thread(() -> {
doTheThing();
TimeUnit.MICROSECONDS.sleep(500);
doTheThing();
}).start();
关于java - ScheduledExecutorService运行两次后停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44788451/