1:java.util.Timer类是一种工具,线程用其安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。
2:TimerTask类是由 Timer 安排为一次执行或重复执行的任务,因为有TimerTask类是一个抽象类,必须有其子类对其实现来完成定时任务的功能。
TimerCallClient .java客户端代码:
- package com.skyon.gd.test;
- import java.util.Timer;
- /**
- *
- * @author sandy
- *
- */
- public class TimerCallClient {
- public static void main(String[] args) {
- run();
- }
- private static void run() {
- Timer timer = new Timer();
- NewTimerTask timerTask = new NewTimerTask();
- //程序运行后立刻执行任务,每隔100ms执行一次
- timer.schedule(timerTask, 0, 100);
- }
- }
NewTimerTask.java代码:
- /**
- *
- */
- package com.skyon.gd.test;
- import java.util.Random;
- import java.util.TimerTask;
- /**
- * @author sandy
- * TimerTask类是一个抽象类
- */
- public class NewTimerTask extends TimerTask {
- @Override
- public void run() {
- createRandomNumber();
- createRandomNumberFromMathRandom();
- }
- //用纯Math中的方法来随机生成1-10之间的随机数
- private void createRandomNumberFromMathRandom() {
- int j=(int)(Math.round(Math.random()*10+1));
- System.out.println("随机生成的数字为:"+j);
- }
- //用Random类的方式来随机生成1-10之间的随机数
- private void createRandomNumber(){
- Random random=new Random(System.currentTimeMillis());
- int value=random.nextInt();
- value=Math.abs(value);
- value=value%10+1;
- System.out.println("新生成的数字为:"+value);
- }
- }