您当前的位置: 首页 >  Java

java持续实践

暂无认证

  • 2浏览

    0关注

    746博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java 同时用Thread类和Runnable接口的方式 创建线程

java持续实践 发布时间:2020-08-15 20:53:42 ,浏览量:2

文章目录
      • 同时用Thread类和Runnable接口的方式 创建线程代码
      • 总结实现线程方式

同时用Thread类和Runnable接口的方式 创建线程代码

如下所示, 同时用Runnable接口和Thread类的方式去创建线程

public class BothRunnableThread {

    public static void main(String[] args) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println(" from Runnable ");
            }
        }) {
            @Override
            public void run() {
                System.out.println("from thread");
            }
        }.start();
    }
}

运行后,控制台打印如下. 说明了Runnable接口的匿名内部类的方式是没有执行的

根据Java的语法规定, 如果同时传入了target ,同时重写run方法. 由于Thread类的run方法是被重写过了的, 那么 Thread类中的run方法是完全被覆盖了的, 不会执行下面的target方法, 因此不会走实现Runnable接口的方法

总结实现线程方式

根据oracle官方, 实现线程方式为如下的两种 实现Runnable接口 继承Thread类

但更为准确的讲, 创建线程的方式, 只有一种, 那就是构造Thread类, 而实现线程的执行单元有两种方式

  1. 实现Runnable 接口的run方法, 把Runnable实例传递给Thread类
  2. 重写Thread 的Run方法 (继承Thread类) .
关注
打赏
1658054974
查看更多评论
立即登录/注册

微信扫码登录

0.0398s