更新时间:2024-03-21 来源:黑马程序员 浏览量:

在Java中,实现多线程的两种主要方式是通过继承Thread类或实现Runnable接口。下面是它们之间的主要区别:
(1)当我们继承Thread类时,我们的类就不能再继承其他类了,因为Java不支持多继承。这种方式限制了我们的类的灵活性。
(2)线程代码通常在子类中重写Thread类的run()方法。
  示例代码如下:
class MyThread extends Thread {
    public void run() {
        // 线程执行的代码
    }
}
public class Main {
    public static void main(String[] args) {
        MyThread thread = new MyThread();
        thread.start();
    }
}(1)实现Runnable接口更灵活,因为我们可以继续扩展其他类。
  (2)我们需要将实现Runnable接口的对象传递给Thread类的构造函数。

  示例代码如下:
class MyRunnable implements Runnable {
    public void run() {
        // 线程执行的代码
    }
}
public class Main {
    public static void main(String[] args) {
        MyRunnable myRunnable = new MyRunnable();
        Thread thread = new Thread(myRunnable);
        thread.start();
    }
}综上所述,使用Runnable接口实现多线程比继承Thread类更加灵活,因为它不会限制我们的类继承结构。通常情况下,推荐使用实现Runnable接口的方式来创建多线程。
1024首播|39岁程序员逆袭记:不被年龄定义,AI浪潮里再迎春天
2025-10-241024程序员节丨10年同行,致敬用代码改变世界的你
2025-10-24【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19