Thread类 和Runnable接口的区别

实现Runnable接口创建多线程程序的好处:

1.避免单继承的局限性

一个类只能继承一个类(一个人只有一个亲爹)类继承了Thread类就不继承其他的类

实现了Runnable接口,还可以继承其他的类,实现其他的接口

2.增强程序的拓展性,降低了程序的耦合性

实现runnable接口的方式,把设置线程任务和开启新线程进行了分离

实现类中,重写了run方法:用来设置线程任务

创建Thread类对象,调用Start方法,用来开启新线程。

 

 

public class Demo01Runnable {
    public static void main(String[] args) {
        //3.创建一个runnable接口的实现对象
        RunnableImpl run=new RunnableImpl();
        //4.创建Thread类对象,构造方法中传递Runnable接口的实现类对象。
        //Thread t=new Thread(run);
        Thread t=new Thread(new RunnableImpl2());
        //5.调用Thread类中的start方法,开启新的线程执行run方法
        t.start();
        for (int i = 0; i <20 ; i++) {
            System.out.println(Thread.currentThread().getName()+"-->"+i);
        }
    }
}

 

 

//1.创建一个Runnable 接口的实现类。
public class RunnableImpl2 implements Runnable{
//2.在实现类中重写runnable接口的run方法,设置线程任务。
    @Override
    public void run() {
        for (int i = 0; i < 20; i++) {
            System.out.println("hello");
        }

    }
}

 

posted @ 2020-09-26 14:58  159566  阅读(396)  评论(0编辑  收藏  举报