Java 两种创建线程方式区别:继承 Thread 类 VS 实现 Runnable 接口
2026/6/6 2:22:45 网站建设 项目流程

1. 继承 Thread 类方式

// 自定义类继承Thread,重写run() class MyThread extends Thread{ @Override public void run() { System.out.println("线程执行任务"); } } // 创建&启动 MyThread t1 = new MyThread(); t1.start();

2. 实现 Runnable 接口方式

// 实现Runnable接口,重写run() class MyTask implements Runnable{ @Override public void run() { System.out.println("线程执行任务"); } } // 任务对象传入Thread构造器 MyTask task = new MyTask(); Thread t2 = new Thread(task); t2.start();

核心区别汇总

对比维度继承 Thread 类实现 Runnable 接口
继承限制Java 单继承,继承 Thread 后无法再继承其他父类,扩展性受限实现接口,可额外继承其他类,规避单继承限制,开发首选
资源共享每个线程是独立对象,无法共享同一个任务数据,多线程不能共用资源多个Thread对象传入同一个 Runnable 实例,天然实现资源共享,适合售票、抢单等场景
任务与线程耦合任务逻辑和线程生命周期绑定在一起,耦合度高任务(Runnable)和线程(Thread)分离,解耦,任务可复用、可灵活分配给不同线程
代码复用任务逻辑绑定在 Thread 子类中,复用性差任务单独封装,可复用在线程池、定时器等多种执行载体

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询