Java开启子线程

流程图

flowchart TD;
    A[主线程] --> B{开启子线程};
    B --> C{执行任务};
    C --> D[子线程];
    D --> E{完成任务};
    E --> F[主线程];

步骤

步骤 描述
1 创建一个继承Thread类的子类或者实现Runnable接口的类
2 重写run()方法,其中包含子线程要执行的任务
3 实例化子线程对象
4 调用子线程的start()方法来启动子线程
5 子线程开始执行任务
6 子线程执行完任务后,线程进入终止状态
7 主线程继续执行,可以获取子线程的执行结果

代码实现

  1. 创建一个继承Thread类的子类或者实现Runnable接口的类
public class MyThread extends Thread {
    @Override
    public void run() {
        // 子线程要执行的任务
    }
}
  1. 重写run()方法,其中包含子线程要执行的任务
public class MyThread extends Thread {
    @Override
    public void run() {
        // 子线程要执行的任务
        // 可以在这里写需要在子线程中执行的代码
    }
}
  1. 实例化子线程对象
MyThread myThread = new MyThread();
  1. 调用子线程的start()方法来启动子线程
myThread.start();
  1. 子线程开始执行任务
public class MyThread extends Thread {
    @Override
    public void run() {
        // 子线程要执行的任务
        // 可以在这里写需要在子线程中执行的代码
        System.out.println("子线程开始执行任务");
    }
}
  1. 子线程执行完任务后,线程进入终止状态
public class MyThread extends Thread {
    @Override
    public void run() {
        // 子线程要执行的任务
        // 可以在这里写需要在子线程中执行的代码
        System.out.println("子线程开始执行任务");
        // 子线程执行完任务后,线程进入终止状态
    }
}
  1. 主线程继续执行,可以获取子线程的执行结果
public class MyThread extends Thread {
    @Override
    public void run() {
        // 子线程要执行的任务
        // 可以在这里写需要在子线程中执行的代码
        System.out.println("子线程开始执行任务");
        // 子线程执行完任务后,线程进入终止状态
    }
}

public class MainThread {
    public static void main(String[] args) {
        MyThread myThread = new MyThread();
        myThread.start();
        
        // 主线程继续执行
        System.out.println("主线程继续执行");
        
        // 可以获取子线程的执行结果
        // 可以使用join()方法等待子线程执行完任务后再继续执行主线程的代码
        try {
            myThread.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        
        // 子线程执行完任务后,主线程继续执行
        System.out.println("子线程执行完任务后,主线程继续执行");
    }
}

序列图

sequenceDiagram
    participant 主线程
    participant 子线程
    主线程 ->> 子线程: new MyThread()
    loop 开始执行子线程
        主线程 ->> 子线程: myThread.start()
        alt 子线程开始执行任务
            子线程 ->> 子线程: 子线程要执行的任务
        else 子线程暂停执行任务
            子线程 ->> 子线程: 线程进入等待状态
        end
    end
    子线程 ->> 主线程: 子线程执行完任务

以上就是如何在Java中开启子线程的步骤和代码实现。通过创建继承Thread类的子类或实现Runnable接口的类,重写run()方法,并调用start()方法来启动子