Java实现Runnable接口创建多线程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nangeali/article/details/79954949

Java实现Runnable接口创建多线程

通过继承Thread类,实现多线程,但是,这种方式有一定的局限性,因为,Java中只支持单继承,一个类一旦继承了某个父类,就无法再继承Thread类
比如,学生类Student继承了Person类,就无法通过继承Thread类,创建线程

针对这种情况,Thread类提供了另外一个构造方法Runnable target
其中,Runnable是一个接口,它只有一个run()方法

当通过Thread类的Runnable target构造方法,创建线程对象时,只需为该方法传递一个实现了Runnable接口的实例对象,这样,创建的线程将调用实现了Runnable接口中的,run()方法作为运行代码,而不需要调用Thread类中的run()方法
示例,Example03.java

public class Example03{
    public static void main(String[] args){
        // 创建MyThread的实例对象
        // 创建线程对象
        // 开启线程,执行线程中的run()方法
        MyThread myThread=new MyThread();
        Thread thread=new Thread(myThread);
        thread.start();
        while(true){
            System.out.println("main()方法在运行");
        }
    }
}
class MyThread implements Runnable{
    // 线程的代码段,当调用start()方法时,线程从此处开始执行
    public void run(){
        while(true){
            System.out.println("MyThread类的run()方法在运行");
        }
    }
}

编译运行
这里写图片描述
代码说明
MyThread类,实现了Runnable接口,并重写了Runnable接口中的run()方法
通过,Thread类的构造方法,将MyThread类的实例对象作为参数传入,可以看出,main()方法和run()方法中的打印语句,都执行了

阅读更多 登录后自动展开
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页