定时或周期性执行任务
service.schedule(new Task(), 10, TimeUnit.SECONDS)<br>
10秒后执行任务
service.scheduleAtFixedRate(new Task(), 10, 10, TimeUnit.SECONDS);<br>
以<font color="#f15a23">固定的频率</font>执行任务<br>
它的第二个参数 initialDelay 表示第一次延时时间,第三个参数 period 表示周期,也就是<font color="#c41230">第一次延时后每次延时多长时间</font>执行一次任务
service.scheduleWithFixedDelay(new Task(), 10, 10, TimeUnit.SECONDS)<br>
与第二种方法类似,也是周期执行任务<br>
不管任务需要花多久执行,<font color="#c41230">以任务结束的时间为下一次循环的时间起点开始计时</font><br>
缺点
它采用的任务队列是 DelayedWorkQueue,这是一个延迟队列,同时也是一个无界队列,所以和 LinkedBlockingQueue 一样,如果队列中存放过的任务,就可能导致 OOM。