实现多线程的方式

665 阅读1分钟

实现多线程的几种方式

1. 继承Thread

public class MyThread extends Thread {
    @Override
    public void run() {
        System.out.println('用Thread类实现线程');
    }
}

2.实现Runnable接口

public class MyRunnable implements Runnable {
    @Override
    public void run() {
        System.out.println('实现Runnable接口实现线程');
    }
}

3.用线程池创建线程

对于线程池而言,本质上是通过ThreadFactory创建线程的,默认采用DefaultThreadFactory,代码实现还是通过new Thread()创建线程。

4.通过实现Callable接口

实现Callable接口实现多线程,它们可以把线程执行的结果作为返回值返回,

对比实现 Runnable 接口比继承 Thread 类实现线程要好

1.Runnable 里只有一个 run() 方法,它定义了需要执行的内容,在这种情况下,实现了 Runnable 与 Thread 类的解耦,Thread 类负责线程启动和属性设置等内容,权责分明。

2.实现Runnable接口实现run()方法比继承Thread显得轻量

3.可扩展性,java不支持双继承,一旦继承了Thread,后续无法继承别的类