满意回答
检举| 2009-03-02 16:48
timer和timeTask一起使用,timeTask已经把runable实现了,timer的schedule方法又把start方法封装了,所以,只要把这两个类一起用好就可以方便的实现多线程。 这是我的实例: package corejava.d12.thread; import java.util.*; import java.io.*; //使用runable或者thread肯定可以,但是没有timer和timerTask方便 public class MyTask extends TimerTask { String index; Timer myTimer = new Timer(); public MyTask(String index) { this.index = index; } public void run() { System.out.println(index); } public static void main(String args[]) { MyTask myTask1 = new MyTask("First task"); myTask1.doScedule(0,3); MyTask myTask2 = new MyTask("Second task"); myTask2.doScedule(0,1); try{ Thread.sleep(6000); } catch(InterruptedException e){ } myTask1.end(); myTask2.end();//程序结束时用cancel()结束Timer } public void doScedule(int delay, int internal) { // 利用timer.schedule方法,这里肯定把start方法封装了 myTimer.schedule(this, delay * 1000, internal * 1000); } public void end(){ myTimer.cancel(); } } /* * 打印结果: * First task Second task Second task Second task Second task First task Second task Second task Second task First task
其他回答 共1条
我觉得是,它已经对多线程有了一定的封装,而不需要程序员去直接操作Thread