美文网首页
实现Runable接口和继承Tread类创建线程的区别

实现Runable接口和继承Tread类创建线程的区别

作者: Change_6556 | 来源:发表于2019-10-12 15:38 被阅读0次

继承Thread类是不推荐的,因为它有以下的一些缺点:
从代码架构角度:具体的任务(run方法)应该和“创建和运行线程的机制(Thread类)”解耦,用runnable对象可以实现解耦。
使用继承Thread的方式的话,那么每次想新建一个任务,只能新建一个独立的线程,而这样做的损耗会比较大(比如重头开始创建一个线程、执行完毕以后再销毁等。
如果线程的实际工作内容,也就是run()函数里只是简单的打印一行文字的话,那么可能线程的实际工作内容还不如损耗来的大)。如果使用Runnable和线程池,就可以大大减小这样的损耗。
继承Thread类以后,由于Java语言不支持双继承,这样就无法再继承其他的类,限制了可扩展性。 通常我们优先选择方法1。

实现Runable接口 在Thread类传入Runable对象 run方法 判断这个参数是否存在 存在执行target.run()
但是继承Thread类 把Thread类的run方法直接覆盖了
最终执行都是runable的run方法

相关文章

  • 实现Runable接口和继承Tread类创建线程的区别

    继承Thread类是不推荐的,因为它有以下的一些缺点:从代码架构角度:具体的任务(run方法)应该和“创建和运行线...

  • java 创建线程的几种方式

    继承Thread类创建线程类 通过Runable接口创建线程类 通过Callable和FutureTask创建线程...

  • 使用Runable接口和Thread类实现线程的异同

    使用Runable接口和Thread类实现线程的异同 相同之处 在实现Runable接口的类和继承Thread的类...

  • Java多线程实现方式

    1.继承Thread类创建线程 线程类 测试代码 2.实现Runable接口创建线程 线程类 测试代码 3.使用线...

  • 线程基础-01

    创建线程的三种方式: 继承 Thread (本身也是 实现了 Runable 接口) 实现 Runable 接口 ...

  • java基础(七)-线程

    实现线程的方式: 1.继承Thread2.实现Runable接口3.实现Callable,和Runable的区别是...

  • java 线程

    实现线程的方式: 1.继承Thread2.实现Runable接口3.实现Callable,和Runable的区别是...

  • 线程

    一。多线程的创建 1. thread/runnable (1) 继承Thread类 (2)实现Runable接口 ...

  • 创建线程的三种方式

    java创建线程的三种方式: 继承Thread类创建线程类通过Runable接口创建线程类通过Callable和F...

  • 2018-07-16

    线程的创建:1.实现runable接口的类的run方法 1.1实现runable接口 1.2创建类对象 Runna...

网友评论

      本文标题:实现Runable接口和继承Tread类创建线程的区别

      本文链接:https://www.haomeiwen.com/subject/xhiopctx.html