在Java中,实现多线程有两种主要方式:
下面是这两种方式的简要介绍和示例代码:
创建一个类,继承自Thread类,并重写其run()方法。run()方法中的代码就是线程要执行的任务。然后创建该类的实例,并调用start()方法来启动线程。
示例代码:
class MyThread extends Thread {
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println(Thread.currentThread().getName() + ":" + i);
}
}
}
public class Main {
public static void main(String[] args) {
MyThread thread1 = new MyThread();
MyThread thread2 = new MyThread();
thread1.start();
thread2.start();
}
}
创建一个类,实现Runnable接口,并重写其run()方法。run()方法中的代码就是线程要执行的任务。然后创建该类的实例,并将其作为参数传递给Thread类的构造函数。最后调用Thread实例的start()方法来启动线程。
示例代码:
class MyRunnable implements Runnable {
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println(Thread.currentThread().getName() + ":" + i);
}
}
}
public class Main {
public static void main(String[] args) {
MyRunnable runnable = new MyRunnable();
Thread thread1 = new Thread(runnable);
Thread thread2 = new Thread(runnable);
thread1.start();
thread2.start();
}
}
注意:实现Runnable接口的方式更受推荐,因为它允许您的类继承其他类(Java不支持多重继承)。此外,使用Runnable接口可以更好地实现资源共享和线程池。