Java 多线程涉及的类、继承、调用关系和常用方法

90 阅读1分钟

image.png

在这个 Mermaid 类图中,我们展示了 Java 多线程编程中的一些重要类和接口,包括 Thread, Runnable, Callable, FutureTask, Executor, ExecutorService, ThreadPoolExecutor, ScheduledExecutorService, TimeUnit, 和 BlockingQueue

  • Thread 类是 Java 多线程编程的核心类,它包含了多线程控制的基本方法,如 start(), run(), join(), sleep(long millis), 和 interrupt()
  • Runnable 接口是 Java 中定义线程任务的常用接口,它只包含一个 run() 方法,该方法在 Threadrun() 方法中被调用。
  • Callable 接口是一个可以返回结果或者抛出异常的线程任务接口,它的 call() 方法可以在 FutureTask 中被执行。
  • FutureTask 类是 RunnableFuture 接口的一个实现类,它可以包装一个 Callable 或者 Runnable 对象,并且获取该任务的结果或者异常。
  • Executor 接口是线程池的基本接口,它定义了 execute(Runnable command) 方法,用于执行一个 Runnable 任务。
  • ExecutorService 接口继承自 Executor 接口,它提供了更为完善的线程池控制方法,如 submit(), shutdown() 等。
  • ThreadPoolExecutor 类是一个灵活可配置的线程池实现类,它继承自 ExecutorService 接口。
  • ScheduledExecutorService 接口继承自 ExecutorService 接口,它提供了定时和周期性任务执行的能力。
  • TimeUnit 类是一个时间单位转换类,它提供了将不同时间单位进行转换的方法。
  • BlockingQueue 接口是一个线程安全的队列接口,它提供了 put(E e)take() 方法,用于在多线程环境中安全地添加和获取元素。