Java Thread类中run()与start()方法有何本质区别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计571个文字,预计阅读时间需要3分钟。
转自: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()区别
以下是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!

