Java 面试题
目录

Java 中创建线程的方式有哪些?

· 约 5 分钟读完 · 第 51 / 274 章

推荐答案

在 Java 中,创建线程的方式主要有以下几种:

  1. 继承 Thread 类
    通过继承 Thread 类并重写 run() 方法来创建线程。

  2. 实现 Runnable 接口
    通过实现 Runnable 接口并实现 run() 方法,然后将 Runnable 实例传递给 Thread 类的构造函数来创建线程。

  3. 实现 Callable 接口
    通过实现 Callable 接口并实现 call() 方法,然后使用 ExecutorService 来提交任务并获取 Future 对象。

  4. 使用线程池
    通过 ExecutorService 和 Executors 工具类来创建线程池,从而管理和复用线程。

本题详细解读

1. 继承 Thread 类

优点:简单直接,适合简单的线程任务。
缺点:由于 Java 不支持多继承,继承 Thread 类后无法再继承其他类。

2. 实现 Runnable 接口

优点:避免了单继承的限制,适合需要继承其他类的场景。
缺点:无法直接返回线程执行结果。

3. 实现 Callable 接口

优点:可以返回线程执行结果,适合需要获取线程执行结果的场景。
缺点:使用稍微复杂,需要配合 ExecutorService 使用。

4. 使用线程池

优点:线程池可以管理和复用线程,减少线程创建和销毁的开销,适合高并发场景。
缺点:需要合理配置线程池参数,避免资源浪费或线程饥饿。