package com.dy.pool;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
/**
* ExecutorService
真正的线程池接口。
ScheduledExecutorService
能和Timer/TimerTask类似,解决那些需要任务重复执行的问题。
ThreadPoolExecutor是ExecutorService的默认实现。
ScheduledThreadPoolExecutor继承ThreadPoolExecutor的ScheduledExecutorService接口实现,周期性任务调度的类实现。
*/
public class ScheduledThreadPool {
public static void main(String[] args) {
System.out.println("欢迎来到线程世界!");
ScheduledThreadPoolExecutor exec = new ScheduledThreadPoolExecutor(2);
exec.scheduleAtFixedRate(new Runnable() {//每隔一段时间就触发异常
public void run() {
System.out.println("=======每隔一段时间就触发异常=========");
}
}, 1000, 5000, TimeUnit.MILLISECONDS);
exec.scheduleAtFixedRate(new Runnable() {//每隔一段时间打印系统时间,证明两者是互不影响的
public void run() {
System.out.println("每隔一段时间打印系统时间,证明两者是互不影响的" + System.nanoTime());
}
}, 1000, 2000, TimeUnit.MILLISECONDS);
}
}