更新时间: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接口的方式来创建多线程。