详细分析 Java 中启动线程的正确和错误方式
start 方法和 run 方法的比较
代码演示:
/**
-
-
start() 和 run() 的比较
-
@author 踏雪彡寻梅
-
@version 1.0
-
@date 2020/9/20 - 16:15
-
@since JDK1.8
*/
public class StartAndRunMethod {
public static void main(String[] args) {
// run 方法演示
// 输出: name: main
// 说明由主线程去执行的, 不符合新建一个线程的本意
Runnable runnable = () -> {
System.out.println("name: " + Thread.currentThread().getName());
};
runnable.run();// start 方法演示 // 输出: name: Thread-0 // 说明新建了一个线程, 符合本意 new Thread(runnable).start();
}
}
从以上示例可以分析出以下两点:
直接使用 run 方法不会启动一个新线程。(错误方式)
start 方法会启动一个新线程。(正确方式)
start 方法分析
start 方法的含义以及注意事项
start 方法可以启动一个新线程。
第一个就是主线程,因为我们必须要有一个主线程或者是