Java多线程创建主要有两种方式:
第三种方式(实现Callable接口)也可以用于创建多线程,但它通常与Executor框架一起使用,如ThreadPoolExecutor。
创建一个新的类,该类继承自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接口。重写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接口可以让你的类更加灵活,因为它可以继承其他类。