在Java中编写多线程程序主要有两种方法:
继承Thread类
重写`run()`方法,在该方法中实现线程要执行的代码逻辑。
创建该类的实例对象并调用`start()`方法启动线程。
public class MyThread extends Thread {
@Override
public void run() {
// 线程执行逻辑
System.out.println("Hello World from MyThread");
}
public static void main(String[] args) {
MyThread thread = new MyThread();
thread.start();
}
}
实现Runnable接口
创建一个类实现`Runnable`接口。
实现`run()`方法,在该方法中实现线程要执行的代码逻辑。
将实现类的实例对象传递给`Thread`类的构造方法来创建线程。
public class MyRunnable implements Runnable {
@Override
public void run() {
// 线程执行逻辑
System.out.println("Hello World from MyRunnable");
}
public static void main(String[] args) {
MyRunnable myRunnable = new MyRunnable();
Thread thread = new Thread(myRunnable);
thread.start();
}
}
注意事项:
通常推荐使用实现`Runnable`接口的方法,因为它允许类继承其他类。
使用`start()`方法启动线程,而不是直接调用`run()`方法,`start()`方法会自动调用`run()`方法。
可以使用`join()`方法等待线程执行完毕。
线程有优先级,可以通过`Thread.setPriority(int priority)`方法设置线程的优先级。
线程状态包括新建、可运行、阻塞、等待和死亡。
以上是Java多线程编程的基本步骤和常见方法。