美文网首页
3-1实现多线程的方式到底有几种?

3-1实现多线程的方式到底有几种?

作者: 西西_20f6 | 来源:发表于2020-07-05 15:16 被阅读0次

一、RunnableStyle

public class RunnableStyle implements Runnable{

  @Override
  public void run() {
    System.out.println("用 Runnable 方法实现线程");
  }
  public static void main(String[] args) {
    Thread thread = new Thread(new RunnableStyle());
    thread.start();
  }
}

二、ThreadStyle

public class ThreadStyle extends Thread {

  @Override
  public void run() {
    System.out.println("用 Thread 方法实现线程");
  }

  public static void main(String[] args) {
    Thread thread = new ThreadStyle();
    thread.start();
  }
}

三、用 Thread 方式实现线程的缺点:

  • 1,从解耦的角度
  • 在设计上,任务(Runnable)和运行任务的类(Thread)应该是解耦的比较好
  • 如果采用继承的方式,就没有做到解耦
  • 2,从节约资源的角度
  • 任务无法在多个线程间共享,每次为了新建一个任务还得新建一个线程,
  • 新建一个线程的开销还是比较大的,它需要去创建、执行、执行完了又要销毁。
  • 如果我们使用Runnable就可以使用线程池等工具,用这些工具就可以大大减少
  • 创建线程,销毁线程带来的损耗。
  • 3,由于java只支持单继承,一旦某个类继承了Thread就无法继承其他类了。
  • 限制了它的扩展性

四、两种方法本质对比
RunnableStyle:Thread最终调用target.run()
ThreadStyle: run()整个都被重写

相关文章

  • 2021-01-26

    实现多线程的方式到底有几种?1.如何创建多线程方式一:继承Thread类方式二:实现Runnable接口继承Thr...

  • 3-1实现多线程的方式到底有几种?

    一、RunnableStyle 二、ThreadStyle 三、用 Thread 方式实现线程的缺点: 1,从解耦...

  • Java中实现多线程的正确姿势(反驳网上的某些观点)

    “java中实现多线程到底有几种方式?为啥我去搜索答案说几种的都有。。。”最近朋友问我这样一个问题,当时我脑子里条...

  • 实现多线程的正确姿势

    实现多线程的方法到底有几种? 关于多线程的实现方式,互联网上的资源鱼龙混杂,有两种的还有三种四种的,最多的还有六种...

  • 多线程(最全面试题04)

    Java实现线程有哪几种方式?1、继承Thread类实现多线程2、实现Runnable接口方式实现多线程3、使用E...

  • 创建线程的方式

    1创建线程的几种方式a.继承Thread类实现多线程b.实现Runnable接口方式实现多线程c.使用Execut...

  • Q&A-04 多线程&分布式

    1、Java实现多线程有哪几种方式 Java 多线程实现方式主要有四种: 继承Thread类 实现Runnable...

  • 多线程经典面试题及答案

    java实现线程有哪几种方式 1.继承Thread类实现多线程2.实现Runnable接口方式实现多线程3.使用线...

  • 多线程的热点问题

    1.多线程有几种实现方式 1.继承Thread实现多线程 2.通过Runnable实现多线程 3.使用Callab...

  • FutureTask实现原理

    在 多线程实现方式 文中讲述了几种开启多线程的方式,每种方式都有其特定的使用场景,本文将剖析带有返回值的线程实现方...

网友评论

      本文标题:3-1实现多线程的方式到底有几种?

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