文章 40
评论 38
浏览 103187
一个实例理解Java Runnable多线程用处与用法

一个实例理解Java Runnable多线程用处与用法

前言

阅读本篇文章,你需要先理解以下知识:

回顾

在阅读上一篇“Java Thread多线程”后,相信你学会了使用extends来调用,但它是有缺陷的。

extends的缺点

Java的每个类只能使用extends继承一个类,如果在继承了Thread类后又想继承其它类,这是不可能的。

所以,有没有办法让Thread不继承而拥有线程属性呢?有的。

使用implements

在Java中,implements用于继承接口。每个类可以implements的接口是没有数量限制的,所以使用implements可以让该类避免继承被占用。

拷贝

使用你的IDE新建一个项目或类并命名为RunnableDemo,然后将下面的代码替换进去:

public class RunnableDemo {
    public static void main(String[] args) {
        runnableThread1 runnableThread1 = new runnableThread1();
        Thread thread = new Thread(runnableThread1);
        thread.run();
    }
}

class runnableThread1 implements Runnable {
    @Override
    public void run() {
        System.out.println("成功调用!");
    }
}

不多解释,如果你看过上篇文章(点我跳转)的话,这段代码对于你是没有难度的。

运行!

运行这段代码,你的控制台会显示如下结果:

成功调用!

后语

implements Runnableextends Thread的效果是一样的,Runnable的本质也是调用了Thread,但相比之下不需要extends,从而为其它类留出了一个extends位置,这对后期开发是尤为有利的。

如转载请在文章尾部添加

原作者来自AdlerED个人技术博客:https://www.stackoverflow.wiki/

Java是世界上最好的语言 | 死钻技术 | 绝不抄袭