Ela*_*der 4 java multithreading interface runnable
我是java的新手.一个疑问.
我在内部看到,Thread类的run()方法调用了Runnable接口run().
我的问题是,
Thread类的run()方法如何调用Runnable接口run()?
提前致谢.
Runnable接口只包含一个方法:run()方法.本Thread类实际上实现了Runnable接口.
因此,当您从Thread类继承时,您的子类也实现了Runnable接口.
这是一个例子,它是如何发生的:
import java.applet.Applet;
public class OurApplet extends Applet {
public void init() {
Runnable ot = new OurClass();
Thread th = new Thread(ot);
th.start();
}
}
Run Code Online (Sandbox Code Playgroud)
start()调用新的Thread对象的方法以开始执行新的控制线程.
我们需要将runnable对象传递给线程对象的构造函数的原因是线程必须有一些方法来获取run()我们希望线程执行的方法.由于我们不再重写run()Thread类的run()方法,因此执行Thread类的默认方法,这个默认的run()方法如下所示:
public void run() {
if (target != null) {
target.run();
}
}
Run Code Online (Sandbox Code Playgroud)
这target是我们传递给线程构造函数的runnable对象.因此,线程开始使用run()Thread类的方法执行,该方法立即调用run()runnable对象的方法.
| 归档时间: |
|
| 查看次数: |
6579 次 |
| 最近记录: |