多线程 Time和TimeTask组合

    Timer和TimerTask类,是多线程的一种形式,使用的包是java.util.在这种实现方式中,Timer类实现的是类似闹钟的功能,也就是定时或者每隔一定时间触发一次线程。其实,Timer类本身实现的就是一个线程,只是这个线程是用来实现调用其他线程的。而TimerTask类是一个抽象类,该类实现了Runnable接口,所以该类具有多线程的能力。

     在这种实现方式中,通过继承TimerTask是该类获得多线程的能力,将需要多线程执行的代码写在run方法内部,然后通过Timer可以启动线程的执行。

     下面的实例中,用MyTimerTask类实现了多线程。首先启动线程时需要首先创建一个Timer类的对象,以及一个MyTimerTask线程类的对象,然后使用Timer对象的schedule方法实现。启动县城的代码如下:

   //创建Timer

   Timer t = new Timer();

   //创建MyTimerTask

   MyTimerTask mtt = new MyTimerTask("线程1:");

  //启动线程

   t.schedule(mmt,0);

其中schedule方法中的第一个参数mmt代表需要启动的线程对象,而第二个参数0则代表延迟0ms启动线程,也就是立即启动。

代码示例如下:

import java.util.*;

public class MyTimerTaskTest {
 public static void main(String[] args){
  Timer t = new Timer();
  MyTimerTask mtt = new MyTimerTask("线程1:");
  t.schedule(mtt,0);
 }

}

 

import java.util.TimerTask;

public class MyTimerTask extends TimerTask{
 String s;
 public MyTimerTask(String s){
  this.s = s;
  
 }
 public void run(){
  try{
   for(int i = 0; i<10;i++){
    Thread.sleep(1000);
    System.out.println(s+i);
   }
  }catch(Exception e){
   
  }
 }

}

  

posted on 2012-05-03 12:10  belingzhong  阅读(961)  评论(0编辑  收藏  举报

导航