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

本贴最后更新于 2108 天前,其中的信息可能已经沧海桑田

v226a7856455512e8b30bb79725869dc6chd.jpg

前言

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

回顾

在阅读上一篇“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 位置,这对后期开发是尤为有利的。

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3190 引用 • 8214 回帖 • 1 关注
  • 代码
    467 引用 • 586 回帖 • 9 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...