在Java中,可以通过两种方式启动多个线程:
- 继承Thread类
- 实现Runnable接口
下面分别介绍这两种方法的实现方式。
方法一:继承Thread类
创建一个新的类,继承自Thread
类,并重写run()
方法。然后创建多个该类的对象,调用它们的start()
方法来启动线程。
示例代码:
class MyThread extends Thread { @Override public void run() { // 线程执行的任务 System.out.println("线程" + Thread.currentThread().getName() + "正在运行"); } } public class Main { public static void main(String[] args) { for (int i = 0; i < 5; i++) { MyThread myThread = new MyThread(); myThread.start(); } } }
方法二:实现Runnable接口
创建一个新的类,实现Runnable
接口,并重写run()
方法。然后创建多个Thread
对象,将该类的对象作为参数传递给Thread
的构造函数,再调用start()
方法来启动线程。
示例代码:
class MyRunnable implements Runnable { @Override public void run() { // 线程执行的任务 System.out.println("线程" + Thread.currentThread().getName() + "正在运行"); } } public class Main { public static void main(String[] args) { for (int i = 0; i < 5; i++) { MyRunnable myRunnable = new MyRunnable(); Thread thread = new Thread(myRunnable); thread.start(); } } }
以上两种方法都可以实现启动多个线程。但是,实现Runnable
接口的方式更受推荐,因为它可以避免单继承的局限性,使得代码更加灵活和可复用。