Java 多线程编程入门:启动两个线程执行两个任务

作为一名刚入行的开发者,你可能对Java多线程编程感到既好奇又困惑。别担心,本文将带你一步步了解如何在Java中启动两个线程来执行两个不同的任务。

多线程编程流程

首先,我们通过一个表格来概述多线程编程的基本流程:

步骤 描述
1 创建一个继承自Thread的类或实现Runnable接口的类
2 重写run()方法,定义线程要执行的任务
3 创建线程对象
4 启动线程

代码实现

接下来,我们将通过具体的代码示例来实现上述流程。

步骤1:创建线程类

首先,我们创建一个实现了Runnable接口的类,这样可以避免继承Thread类带来的限制。

class Task implements Runnable {
    private String name;

    public Task(String name) {
        this.name = name;
    }

    @Override
    public void run() {
        System.out.println(name + " 线程开始执行");
        // 这里添加具体的任务逻辑
        System.out.println(name + " 线程执行完毕");
    }
}

步骤2:重写run()方法

在上面的Task类中,我们已经重写了run()方法,它定义了线程要执行的任务。

步骤3:创建线程对象

然后,我们创建两个Task对象,并分别包装成两个线程。

public class MultiThreadExample {
    public static void main(String[] args) {
        Task task1 = new Task("任务1");
        Task task2 = new Task("任务2");

        Thread thread1 = new Thread(task1);
        Thread thread2 = new Thread(task2);
    }
}

步骤4:启动线程

最后,我们调用每个线程的start()方法来启动它们。

thread1.start();
thread2.start();

类图和饼状图

为了更直观地展示线程之间的关系,我们可以使用Mermaid语法来绘制类图和饼状图。

类图

classDiagram
    class Task {
        +String name
        +void run()
    }
    class Thread {
        +void start()
    }
    Task <|-- Thread

饼状图

假设我们的任务1和任务2分别占用了50%的CPU时间,我们可以用饼状图来表示:

pie
    "任务1" : 50
    "任务2" : 50

结语

通过本文,你应该已经了解了如何在Java中启动两个线程来执行两个不同的任务。记住,多线程编程是提高程序性能的重要手段,但同时也要注意线程安全和资源同步问题。希望本文能帮助你迈出Java多线程编程的第一步。继续探索和实践,你将成为一名出色的Java开发者。