Java 并发编程之创建线程

118 阅读1分钟

对于创建线程的方法网上众说纷纭,而 Oracle 官方给出的创建线程的方式只有两种,一种是通过继承 Thread 类,另一种是实现 Runnable 接口。

创建线程的本质

Java 创建的本质是通过构造 Thread 对象 而官方文档给的两种方式本质其实是一种方式

继承 Thread 和 实现 Runnable 接口的不同点

  1. 继承 Thread. 继承 Thread 是通过覆盖 Thread 类的 run 方法。而实现 Runable 接口,则是通过将 Runnable 放到 Thread 类的构造器中
  2. 如果通过继承 Thread 创建线程,则需要维护对象的开销

“创建线程”的其他方式

对于创建线程的方式众说纷纭,大家可能听过创建线程的方式多的有7-8种,甚至更多。 诸如通过线程池创建线程、实现CallAble接口、实现Future等。这些方法在底层本质上还是通过构造 Thread 对象实现新建线程

所以创建线程只能通过构造 Thread 对象,只有这一种方式,至于Java后续开放的其他的“创建线程”的方式,都是基于【构造 Thread 对象】这一理念实现,万变不离其宗。