版权声明: https://blog.csdn.net/Dongguabai/article/details/84789787
public static void main(String[] args) {
new Thread(()->{
System.out.println("===============");
}){
@Override
public void run() {
System.out.println("--------");
}
}.start();
}
这段函数的执行结果是什么呢?
运行结果:
结合 start() 方法的官方描述,就是执行当前线程的 run() 方法:
start
public void start()使该线程开始执行;Java 虚拟机调用该线程的
run
方法。结果是两个线程并发地运行;当前线程(从调用返回给
start
方法)和另一个线程(执行其run
方法)。多次启动一个线程是非法的。特别是当线程已经结束执行后,不能再重新启动。
抛出:
IllegalThreadStateException
- 如果线程已经启动。另请参见:
再看这样一个例子:
public static void main(String[] args) {
new Thread(() -> {
System.out.println("===============");
}) {
}.start();
}
运行结果: