1.定时器有什么用?
答:定时器可以设置闹钟,固定时间去执行某些任务,比如弹出小广告这些。
1.定时器怎么实现?
步骤:
1.创建固定线程池:ScheduledExecutorService poll = Executors.newScheduledThreadPool(这里放入固定的线程)
2.开始定时任务 :poll.scheduleAtFixedRate(new TimerTask(){
3.run下面要输入执行的具体核心代码
4.在含有圆括号里面填入第二参数--初始值,间隔执行时间,TimeUnit.SECONDS
}
例子:
package bao; import java.util.TimerTask; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; public class Test { public static void main(String[] args) { //1.创建固定线程池对象 ScheduledExecutorService poll = Executors.newScheduledThreadPool(3);//线程池里面只能放3条固定线程 //2.开启定时任务 poll.scheduleAtFixedRate(new TimerTask() { @Override public void run() { //3.输入要执行的代码 System.out.println(Thread.currentThread().getName()+"执行输出"); } },0,2, TimeUnit.SECONDS);//配置第二参数,初始话执行时间为0秒,间隔2秒执行一次线程任务 } }
运行结果: (这里不手动停止或者编写停止代码会一直定时每2秒执行下去的)
pool-1-thread-1执行输出
pool-1-thread-1执行输出
pool-1-thread-2执行输出
pool-1-thread-2执行输出