有一个例子:
public class Test {
public static void main(String[] args) {
new Test().test();
}
public void test() {
Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(() -> {
print("Pre");
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
e.printStackTrace();
}
print("Post");
}, 2, 2, TimeUnit.SECONDS); // Start relax time every time that work time is over
}
private void print(String m) {
System.out.println(new SimpleDateFormat("mm:ss").format(Calendar.getInstance().getTime()) + " / " + m);
}
}
输出:
39:35 / Pre
39:39 / Post
39:39 / Pre
我的问题是时间直到下一个任务开始计算,直到完成上一个任务。 那么,我想在输出中看到什么:
39:35 / Pre
39:39 / Post
39:41 / Pre
有什么想法吗?