java中通过继承thread类创建线程的核心是重写run()方法并在其中编写执行逻辑,再调用start()启动;需定义子类继承thread、覆盖run(),该方法由jvm自动调用,不应直接调用或放入无控阻塞代码。

Java 中通过继承 Thread 类创建线程,核心是**重写 run() 方法**,并在其中编写线程要执行的逻辑;之后调用 start() 方法启动线程。
1. 定义子类继承 Thread
创建一个类,继承 java.lang.Thread,并覆盖 run() 方法:
-
run()是线程真正执行任务的地方,不是直接调用它,而是由 JVM 在线程启动后自动调用 - 不要在
run()里写耗时阻塞逻辑而无任何控制,否则影响线程生命周期管理
2. 重写 run() 方法
在 run() 中写你希望在线程中并发执行的代码,例如:
class MyThread extends Thread {
@Override
public void run() {
System.out.println("线程 " + getName() + " 正在运行");
for (int i = 0; i
3. 创建实例并启动线程
注意:必须调用 start(),而不是直接调用 run() —— 后者只是普通方法调用,不会开启新线程:
-
new MyThread().start();→ 正确:JVM 创建新线程并执行run() -
new MyThread().run();→ 错误:仍在主线程中同步执行,无并发效果 - 可选:用
setName()设置线程名,便于调试
4. 实际使用示例
启动多个线程观察并发效果:
public class ThreadDemo {
public static void main(String[] args) {
MyThread t1 = new MyThread();
MyThread t2 = new MyThread();
t1.setName("Worker-1");
t2.setName("Worker-2");
t1.start();
t2.start();
}
}
输出顺序不固定,体现多线程异步特性。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











