黑马程序员技术交流社区
标题:
java5线程并发库里面Timer不是很理解
[打印本页]
作者:
江南
时间:
2012-6-11 01:27
标题:
java5线程并发库里面Timer不是很理解
在看张老师的视频教程中经常遇到这种问题
import java.util.*;
import javax.management.*;
public class TestTimerTask {
public static void main(String[] args) {
class MyTimerTask extends TimerTask
{
private Timer tm=null;
public MyTimerTask(Timer tm)
{
this.tm=tm;
}
public void run()
{
try{
Runtime.getRuntime().exec("calc.exe");
}catch(Exception e)
{
e.printStackTrace();
}
//结束任务线程的代码
tm.cancel();
}
}
Timer tm=new Timer();
tm.schedule(new MyTimerTask(tm),5000);
}
}
schedule(TimerTask task,long delay)
我知道在schedule方法中要传递进去一个TimerTask对象
问题1:为什么要定义一个TimerTask的子类呢?为什么这个子类要定义为内部类呢?
问题2:这个TimerTask对象为什么还要传递进去一个Timer对象呢?
问题3:为什么还要在TimerTask子类中定义一个Timer的构造函数呢?而且还要传递进去一个Timer类型的引用变量呢?
问题4:Timer tm=null;这句也理解不了
也许对于高手来说这些问题都很容易 但是相信对于我或者跟我一样的初学者来说 经常遇到这种问题 例如多线程同步中也有遇到类似的问题,请高手们赐教
作者:
吴超
时间:
2012-6-11 21:31
装饰模式的思想
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2