【发布时间】:2018-01-10 00:40:38
【问题描述】:
我知道 main() 是一个线程,只是因为 cmd 说的。但是我想知道如果我们不扩展 Thread 类或 implements Runnable 接口,它怎么可能是一个线程?
【问题讨论】:
-
编译魔法。
-
基本上,JVM 在您的应用程序启动之前为您启动一个线程。并且该线程很可能是由操作系统在 JVM 启动时创建的:所以操作系统很神奇。
-
JVM 启动线程调用主线程是启动程序的线程,或者只是运行您的公共静态 void main(String... args) 方法的线程。
-
所以,我认为这里的关键是熟悉线程的概念;它是一个执行单元。程序的 main 函数从 JVM 隐式创建的线程开始,因为它必须在 a 线程中执行。
标签: java