ScheduledExecutorService
是专门用来执行定时任务的一个线程池,使用如下:
import java.util.Random;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
/**
* 测试定时任务
*/
public class Test {
public static void main(String[] args) {
// 其实他这里面有一些好用的方法比如是scheduleAtFixedRate间隔多长时间在一个固定的频率上来执行一次这个任务。
// 核心线程是4
ScheduledExecutorService service = Executors.newScheduledThreadPool(4);
// 可以通过scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit)方式灵活的控制时间:
// 第2个参数(Delay)第一个任务执行之前需要往后面推多长时间;
// 第3个(period)间隔多长时间;
// 第4个参数是时间单位。
service.scheduleAtFixedRate(() -> {
try {
TimeUnit.MILLISECONDS.sleep(new Random().