首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于Thread类的一个简单有关问题~

2012-01-10 
关于Thread类的一个简单问题~!在JDK中Thread类的源码中有个方法:Java codepublic void run() {if (target

关于Thread类的一个简单问题~!
在JDK中Thread类的源码中有个方法:

Java code
public void run() {    if (target != null) {        target.run();    }    }

其中target是Thread类的一个成员变量,当我们创建一个线程的时候:
Java code
class TheadTest extends Thread{public void run(){    System.out.println("Thread Test");}}

当调用start()启动线程的时候,TheadTest线程怎么就知道调用target的run()方法呢,我们也没有给target成员变量赋值啊?
请问这是为什么啊?高手解决一下啊,我哪里理解的有问题啊?

[解决办法]
Java code
public void run() {    if (target != null) {        target.run();    }    }class TheadTest extends Thread{public void run(){    System.out.println("Thread Test");}}
[解决办法]
要看该线程类是不是初始化了target 要是才调用 不是则无为而返
通过native方法start0启动 都是调用Thread.run() 除非自建Thread类中有覆盖run方法

热点排行