Java多线程创建主要有两种方式:
- 继承Thread类
- 实现Runnable接口
第三种方式(实现Callable接口)也可以用于创建多线程,但它通常与Executor框架一起使用,如ThreadPoolExecutor。
- 继承Thread类
创建一个新的类,该类继承自Thread类。重写run()方法,在run()方法中编写线程需要执行的任务。然后创建这个子类的对象,并调用start()方法来启动线程。
示例代码:
class MyThread extends Thread { @Override public void run() { // 线程执行的任务 System.out.println("线程正在执行..."); } } public class Main { public static void main(String[] args) { MyThread myThread = new MyThread(); myThread.start(); } }
- 实现Runnable接口
创建一个新的类,该类实现Runnable接口。重写run()方法,在run()方法中编写线程需要执行的任务。然后创建这个子类的对象,将其传递给Thread类的构造函数,最后调用Thread对象的start()方法来启动线程。
示例代码:
class MyRunnable implements Runnable { @Override public void run() { // 线程执行的任务 System.out.println("线程正在执行..."); } } public class Main { public static void main(String[] args) { MyRunnable myRunnable = new MyRunnable(); Thread thread = new Thread(myRunnable); thread.start(); } }
注意:实现Runnable接口相比继承Thread类更具有优势,因为Java不支持多重继承,而实现接口可以实现多重继承。此外,实现Runnable接口可以让你的类更加灵活,因为它可以继承其他类。