通过继承Thread类并重写run()方法可创建线程,调用start()方法启动,使线程并发执行,其中Thread.currentThread()用于获取当前线程信息,自定义线程名称有助于调试,适合初学者掌握多线程基础。

在Java中,实现多线程是提升程序并发性能的重要手段。其中,通过继承Thread类是最基础、最直观的创建线程的方式之一。本文将详细介绍如何使用Thread类创建多线程,并讲解线程的启动方式与基本用法,适合初学者快速入门。
Java中的Thread类位于java.lang包中,代表一个线程执行单元。要通过继承Thread类创建线程,只需定义一个类继承Thread,并重写其run()方法,该方法中包含线程要执行的任务逻辑。
示例代码如下:
class MyThread extends Thread {
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println(Thread.currentThread().getName() + ": " + i);
try {
Thread.sleep(100); // 模拟耗时操作
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
在主方法中创建并启动线程:
立即学习“Java免费学习笔记(深入)”;
public class ThreadExample {
public static void main(String[] args) {
MyThread t1 = new MyThread();
MyThread t2 = new MyThread();
t1.start(); // 启动第一个线程
t2.start(); // 启动第二个线程
}
}
注意:不能直接调用run()方法。如果调用t1.run(),任务会在主线程中同步执行,不会开启新线程。
Thread.currentThread()是一个静态方法,用于获取当前正在执行的线程对象。常用于:
currentThread().getName()
currentThread().getId()
currentThread().interrupt()
在上面的例子中,输出会显示每个线程的名字(如Thread-0、Thread-1)和执行的循环值,帮助区分不同线程的运行状态。
理解start()和run()的区别是掌握多线程的关键。
run()方法。这是正确的启动方式。错误示例:
t1.run(); // 错误!在主线程中执行,未开启新线程
正确做法始终是调用start()方法。
默认情况下,线程名称为Thread-0、Thread-1等,不利于调试。可以通过构造函数设置有意义的名称:
class NamedThread extends Thread {
public NamedThread(String name) {
super(name); // 设置线程名
}
public void run() {
System.out.println("线程 " + getName() + " 正在运行");
}
}
// 使用
NamedThread nt = new NamedThread("Worker-1");
nt.start();
输出结果会显示“线程 Worker-1 正在运行”,便于日志追踪和问题排查。
基本上就这些。使用Thread类创建线程简单直接,适合学习多线程的基本概念和执行流程。虽然实际开发中更多采用实现Runnable接口的方式(避免单继承限制),但理解Thread类的使用仍是Java多线程的入门必经之路。
以上就是Java如何使用Thread类创建多线程_Java多线程入门与线程启动方式详解的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号