Java多线程问题
Java多线程问题Java中多线程实现方法。继承runable类为什么比继承thread类好,说是克服了Java的单继承问题,具体是怎么克服的。...
Java多线程问题Java中多线程实现方法。继承runable类为什么比继承thread类好,说是克服了Java的单继承问题,具体是怎么克服的。
展开
1个回答
展开全部
Runnable 是接口,所以是实现 Runnable 而不是继承 Runnable 。
Thread 是类,可以被继承。
在 Java 语言中,任何类最多只能有一个父类。如果某个类要作为线程任务类,通过多线程调用,需要继承 Thread 类并重写 run方法。如果它本身就有父类,这时继承 Thread 是不可行的。
Thread 类的其中一个构造函数的参数是 Runnable 类型,调用 start 方法时开启一条线程执行 run 方法。看一下 run 方法的实现。
public void run() {
if (target != null) {
target.run();
}
}
其中的 target 就是构造函数中 Runnable 类型的变量。
所以,如果某个类已经有了父类,如果它要作为线程任务类,开启多线程执行任务只能实现 Runnable 接口。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询