线程类的构造方法静态块是被哪个线程调用的

Posted 四猿外

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程类的构造方法静态块是被哪个线程调用的相关的知识,希望对你有一定的参考价值。

这是一个非常刁钻和狡猾的问题。请记住:线程类的构造方法、静态块是被new 这个线程类所在的线程所调用的,而run 方法里面的代码才是被线程自身所调用的。

如果说上面的说法让你感到困惑,那么我举个例子,假设Thread2 中new 了Thread1,main函数中new 了Thread2,那么:

(1)Thread2 的构造方法、静态块是main 线程调用的,Thread2 的run()方法是Thread2 自己调用的

(2)Thread1 的构造方法、静态块是Thread2 调用的,Thread1 的run()方法是Thread1 自己调用的

以上是关于线程类的构造方法静态块是被哪个线程调用的的主要内容,如果未能解决你的问题,请参考以下文章

JAVA的Thread类的构造方法

在破坏调用期间从另一个线程未定义的行为调用对象上的方法?

java笔试题整理

java子类可以继承父类的构造方法吗

c# 有调用一个类的静态方法,是不是执行这个类的构造函数

使用静态工厂方法代替构造器