七、使用Thead子类创建线程VS使用Thread直接创建线程(Runnable接口)的区别
一、定义
1.继承限制不同
继承Thread:Java 是单继承,一旦继承 Thread,就不能再继承其他父类,有局限。
实现Runnable:只是实现接口,还可以继续继承别的类,扩展性更强。
2.资源共享能力不同
Thread继承方式:每创建一个对象都是独立线程,很难共享同一份数据。
Runnable方式:同一个任务对象可以传给多个 Thread,轻松实现多线程共享资源(卖票场景首选)。
3.职责分离不一样
Thread:把线程载体和业务任务耦合在一起。
Runnable:线程(Thread)只负责调度,业务代码单独放在任务类,代码解耦,结构更清晰。
4.适用场景
简单小程序:可以直接继承 Thread。
项目开发、需要共享数据、多继承:优先使用 Runnable 接口。
二、代码分析与数据


三、总结
1.继承 Thread 类:受单继承限制,多线程无法共享资源,线程与业务代码高度耦合。
2.实现 Runnable 接口:规避了单继承的限制,实现任务与线程分离,支持多线程共用同一个任务数据,是开发中的主流写法。

浙公网安备 33010602011771号