Java中创建多线程的方法主要有两种:
继承Thread类
创建一个继承自`Thread`类的子类,重写`run()`方法,在`run()`方法中定义线程要执行的任务。
创建子类的实例,调用`start()`方法来启动线程。
```java
class MyThread extends Thread {
@Override
public void run() {
System.out.println("我是通过继承Thread类创建的线程,正在运行");
}
}
public class Main {
public static void main(String[] args) {
MyThread thread = new MyThread();
thread.start(); // 启动线程
}
}
实现Runnable接口
创建一个实现`Runnable`接口的类,实现`run()`方法,在`run()`方法中定义线程要执行的任务。
创建该类的实例,并将实例作为参数传递给`Thread`类的构造方法。
调用`Thread`类的`start()`方法来启动线程。
```java
class MyRunnable implements Runnable {
@Override
public void run() {
System.out.println("我是通过实现Runnable接口创建的线程,正在运行");
}
}
public class Main {
public static void main(String[] args) {
MyRunnable runnable = new MyRunnable();
Thread thread = new Thread(runnable);
thread.start(); // 启动线程
}
}
注意事项:
调用`start()`方法启动线程,而不是直接调用`run()`方法。`start()`方法会创建一个新的线程并执行`run()`方法。
当创建线程时,请记住线程是异步的,不能假设代码的执行顺序与线程启动顺序一致。
如果需要访问共享资源,请确保正确同步以避免并发问题。
多线程编程可以提高CPU的利用率,但也增加了程序的复杂性,需要仔细考虑线程安全和同步问题。
希望这些信息对你开发Java多线程程序有所帮助。