Java 启动线程执行方法

在 Java 编程中,线程是一种轻量级的进程,它是程序执行的最小单元。多线程可以让程序在执行时同时进行多个任务,从而提高效率。本文将介绍如何在 Java 中启动线程并执行指定方法,以及展示相应的代码示例。

线程的创建与启动

在 Java 中,有两种常用的方法来创建线程:继承 Thread 类和实现 Runnable 接口。下面将分别介绍这两种方法。

方法一:继承 Thread

通过继承 Thread 类,我们可以重写 run() 方法,在其中定义线程执行的任务。

class MyThread extends Thread {
    @Override
    public void run() {
        System.out.println("线程正在运行...");
        for (int i = 0; i < 5; i++) {
            System.out.println("计数:" + i);
            try {
                Thread.sleep(1000); // 暂停 1 秒
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

public class Main {
    public static void main(String[] args) {
        MyThread thread = new MyThread();
        thread.start(); // 启动线程
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.

在这个例子中,MyThread 类继承了 Thread 类,并重写了 run() 方法。通过调用 start() 方法启动线程。

方法二:实现 Runnable 接口

另一种方式是实现 Runnable 接口。相较于继承 Thread 类,使用 Runnable 更为灵活,因为你可以同时继承其他类。

class MyRunnable implements Runnable {
    @Override
    public void run() {
        System.out.println("Runnable 线程正在运行...");
        for (int i = 0; i < 5; i++) {
            System.out.println("计数:" + i);
            try {
                Thread.sleep(1000); // 暂停 1 秒
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

public class Main {
    public static void main(String[] args) {
        MyRunnable myRunnable = new MyRunnable();
        Thread thread = new Thread(myRunnable);
        thread.start(); // 启动线程
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.

在这个例子中,MyRunnable 实现了 Runnable 接口,并在 run() 方法中定义了线程的任务。然后,再创建一个 Thread 对象并传入 Runnable 实现实例,最后启动线程。

流程图说明

下面是线程启动的流程图,展示了从创建线程到执行任务的过程。

flowchart TD
    A[创建线程] --> B{选择方式}
    B -- 继承 Thread --> C[重写 run() 方法]
    B -- 实现 Runnable --> D[实现 run() 方法]
    C --> E[调用 start() 启动线程]
    D --> E
    E --> F[执行线程中的代码]

结尾

多线程编程是 Java 语言的一项强大功能,它使得应用程序能够同时执行多个任务,提升性能和用户体验。通过以上的示例,我们了解了两种创建线程的方法:继承 Thread 类和实现 Runnable 接口。无论选择哪种方式,都能轻松地启动线程并执行指定的任务。

希望这篇文章能帮助你更好地理解 Java 中的线程启动和执行。如果你想深入学习多线程编程,可以研究线程的生命周期、同步、以及并发工具等高级主题。