Java创建线程的四种方法之间的比较

  • Post author:
  • Post category:java


  • 一种方法是继承

    Thread

    类。 这个子类应该重写

    run

    类的方法

    Thread

    。 然后可以分配并启动子类的实例。继承Thread类的线程类不能再继承其他父类。

  • 一种是实现类

    Runnable

    接口来创建一个线程。 那个类然后实现了

    run

    方法。 然后可以分配类的实例,在创建

    Thread

    时作为参数传递,并启动。

  • 一种是实现

    Callable

    接口类似于


    Runnable


    ,因为它们都是为其实例可能由另一个线程执行的类设计的。 然而,A

    Runnable

    不返回结果,也不能抛出被检查的异常。线程只是实现Runnable或实现Callable接口,还可以继承其他类,所以通常选用实现接口方式。

  • 一种是使用线程池ThreadPoolExecutor创建新线程
    public class ThreadPoolExecutor
    extends AbstractExecutorService

线程池解决两个不同的问题:由于每个任务的调用开销减少,它们通常在执行大量异步任务时提供改进的性能,并且它们提供    了一种限制和管理资源(包括执行一个任务。 每个

ThreadPoolExecutor

还维护一些基本统计信息,例如已完成任务的数量。



版权声明:本文为zhoukewei_1650原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。