通过实现Runable接口创建多线程
优点: 相对继承Thread创建多线程来说可以实现多继承。比如下面例子,在线程类中继承一个叫Robot的类。
被继承的类:
public class Robot {
private String Name;
public Robot(String name)
{
this.Name = name;
}
public void shout(){
System.out.println("I am " + Name);
}
}
线程类:
public class Thread_02 extends Robot implements Runnable{
private String name;
public Thread_02(String name){
super(name);
this.name = name;
}
@Override
public void run() {
Thread.currentThread().setName(name);
super.shout();
for (int i = 0; i < 20; i++) {
System.out.println("I am DogRobot :" +name + " :" + i);
}
}
}
主线程:
public class App {
public static void main(String[] args) {
Thread threadDog1 = new Thread(new Thread_02("kiki"));
Thread threadDog2 = new Thread(new Thread_02("gigi"));
threadDog1.start();
threadDog2.start();
}
}
这篇博客探讨了通过实现Runnable接口创建多线程相对于继承Thread类的优势,例如允许多重继承。文中给出了一个示例,展示如何在继承自Robot类的线程类中实现Runnable接口,从而在线程执行中调用Robot的方法并进行特定任务。在主线程中创建并启动两个线程实例,展示了多线程的并发执行情况。
3024

被折叠的 条评论
为什么被折叠?



