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执行输出