继承thread类创建线程适合快速验证逻辑,但受单继承限制、状态共享困难、任务与线程强耦合且无法接入线程池。

Java 中继承 Thread 类创建线程,是最直观的入门方式,但实际工程中使用受限。它的核心优缺点集中在设计灵活性和资源管理上。
适合快速验证逻辑,写法直接
不用额外封装任务对象,定义一个类、重写 run() 方法、调用 start() 就能跑起来。比如打印几行日志、模拟简单耗时操作,代码干净利落,对初学者友好。
受 Java 单继承限制,扩展性差
一旦类继承了 Thread,就无法再继承其他父类。如果业务已有继承链(比如需要继承 Service 或自定义基类),这条路就走不通。接口可以多实现,但父类只能有一个。
多个线程实例间默认不共享状态
每个 new MyThread() 都是独立对象,成员变量互不影响。想让多个线程协同操作同一份数据(比如卖票),必须把变量声明为 static,容易引发并发问题,且逻辑不够自然。
线程与任务强耦合,复用困难
线程生命周期和业务逻辑绑死在一个类里。同一个任务无法被不同线程策略复用(比如先用普通线程跑,再改用线程池执行),也不便于单元测试或替换执行环境。
无法接入线程池等现代并发工具
ExecutorService 等线程池只接受 Runnable 或 Callable 任务,不接受 Thread 子类实例。想用线程池、定时调度、异步编排,这条路直接被堵死。
不复杂但容易忽略:它本质是“把线程当成任务来建”,而现代并发更强调“把任务交给线程去执行”。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











