Java Thread类中run()与start()方法有何本质区别?

2026-06-10 08:332阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计571个文字,预计阅读时间需要3分钟。

Java Thread类中run()与start()方法有何本质区别?

转自:Java中Thread类run()、start()区别

Java Thread类中run()与start()方法有何本质区别?

以下是Thread类中run()和start()方法的区别说明:

run()、start()方法功能的区别:

1.start()方法:用于启动线程,此时线程进入就绪状态,等待CPU时间片,一旦获得时间片,便开始执行线程的run()方法。

2.run()方法:是线程执行的入口,定义了线程执行的逻辑。直接调用run()方法不会启动线程,而是当作普通方法执行。

具体说明如下:

- run()方法:线程的执行逻辑,是线程运行的核心部分。直接调用run()方法时,不会启动线程,线程本身也不会执行,它只是作为普通方法执行。- start()方法:启动线程,使线程进入就绪状态。线程一旦获得CPU时间片,便开始执行线程的run()方法。

例如:javapublic class MyThread extends Thread { @Override public void run() { // 线程执行的逻辑 System.out.println(线程执行...); }}

public class Main { public static void main(String[] args) { MyThread myThread=new MyThread(); myThread.start(); // 启动线程 myThread.run(); // 直接调用run()方法,不会启动线程 }}

在上述示例中,调用myThread.start()会启动线程,并执行run()方法中的代码。而直接调用myThread.run()时,线程不会启动,run()方法中的代码作为普通方法执行。


转自:

​​Java中Thread类run(),start()区别​​

下文讲述Thread类中run(),start()方法的不同之处说明,如下所示:

run(),start()方法功能的区别:
1.start()方法用于启动线程,run方法只是Thread子类的一个普通方法
2.当使用start()方法启动线程后,线程会运行类中的run方法

例:

package com.java265.other;
public class Test6 {
public static void main(String[] args) throws Exception {
ThreadTest threadTest = new ThreadTest();
System.out.println("run方法运行!");
threadTest.run();
System.out.println("start方法运行");
threadTest.start();
}
}

class ThreadTest extends Thread {
public ThreadTest() {}
public ThreadTest(String name) {
super(name);
}

@Override
public void run() {
System.out.println("我来自类ThreadTest!");
}
}
-----运行以上代码,将输出以下信息-----
run方法运行!
我来自类ThreadTest!
start方法运行
我来自类ThreadTest!


本文共计571个文字,预计阅读时间需要3分钟。

Java Thread类中run()与start()方法有何本质区别?

转自:Java中Thread类run()、start()区别

Java Thread类中run()与start()方法有何本质区别?

以下是Thread类中run()和start()方法的区别说明:

run()、start()方法功能的区别:

1.start()方法:用于启动线程,此时线程进入就绪状态,等待CPU时间片,一旦获得时间片,便开始执行线程的run()方法。

2.run()方法:是线程执行的入口,定义了线程执行的逻辑。直接调用run()方法不会启动线程,而是当作普通方法执行。

具体说明如下:

- run()方法:线程的执行逻辑,是线程运行的核心部分。直接调用run()方法时,不会启动线程,线程本身也不会执行,它只是作为普通方法执行。- start()方法:启动线程,使线程进入就绪状态。线程一旦获得CPU时间片,便开始执行线程的run()方法。

例如:javapublic class MyThread extends Thread { @Override public void run() { // 线程执行的逻辑 System.out.println(线程执行...); }}

public class Main { public static void main(String[] args) { MyThread myThread=new MyThread(); myThread.start(); // 启动线程 myThread.run(); // 直接调用run()方法,不会启动线程 }}

在上述示例中,调用myThread.start()会启动线程,并执行run()方法中的代码。而直接调用myThread.run()时,线程不会启动,run()方法中的代码作为普通方法执行。


转自:

​​Java中Thread类run(),start()区别​​

下文讲述Thread类中run(),start()方法的不同之处说明,如下所示:

run(),start()方法功能的区别:
1.start()方法用于启动线程,run方法只是Thread子类的一个普通方法
2.当使用start()方法启动线程后,线程会运行类中的run方法

例:

package com.java265.other;
public class Test6 {
public static void main(String[] args) throws Exception {
ThreadTest threadTest = new ThreadTest();
System.out.println("run方法运行!");
threadTest.run();
System.out.println("start方法运行");
threadTest.start();
}
}

class ThreadTest extends Thread {
public ThreadTest() {}
public ThreadTest(String name) {
super(name);
}

@Override
public void run() {
System.out.println("我来自类ThreadTest!");
}
}
-----运行以上代码,将输出以下信息-----
run方法运行!
我来自类ThreadTest!
start方法运行
我来自类ThreadTest!