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);
- }
- }