Java 运行两次后是否停止ScheduledExecutorService?
我试图让一些代码只执行2次,每次执行之间的延迟为500微秒 到目前为止,我已经使用ScheduledExecutorService和一个int计数器来跟踪ExecutorService运行代码的次数,但我想知道这是否是一种好方法,以及是否有更好的方法:Java 运行两次后是否停止ScheduledExecutorService?,java,Java,我试图让一些代码只执行2次,每次执行之间的延迟为500微秒 到目前为止,我已经使用ScheduledExecutorService和一个int计数器来跟踪ExecutorService运行代码的次数,但我想知道这是否是一种好方法,以及是否有更好的方法: private void dingdong() { ScheduledExecutorService exec = Executors.newSingleThreadScheduledExecutor(); exec.sched
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);
}
我认为服务太过分了。如果您只使用普通线程,它可以运行您的操作、睡眠并再次运行
new Thread(() -> {
doTheThing();
TimeUnit.MICROSECONDS.sleep(500);
doTheThing();
}).start();
你的解决办法确实简单得多。