import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
public class ScheduleThreadTest {
public static void main(String[] args) {
ScheduledThreadPoolExecutor scheduledThreadPoolExecutor = new ScheduledThreadPoolExecutor(3);
/**
* 等待上一个任务执行完毕,再延迟2秒再执行下一个任务
*/
scheduledThreadPoolExecutor.scheduleWithFixedDelay(new Runnable() {
@Override
public void run() {
System.out.println(111);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
},
1, // 延迟1秒执行第一个任务
2, // 第一个任务执行完毕,延迟2秒执行下一个任务
TimeUnit.SECONDS);
/**
* 没隔 5 秒执行下一个任务
*/
scheduledThreadPoolExecutor.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
System.out.println(111);
}
},
1, // 延迟1秒执行第一个任务
5, // 每隔 5 秒产生一个新的任务
TimeUnit.SECONDS);
}
}
最后修改于 2020-06-04 21:55:09
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

