public static void main(Sting args[]){
Object a=null;
new Thread(){
a=new xxx()
}.start();
new Thread(){
a=new xxx()
}.start();
}
想问,xxx()方法里有复杂的对象初始化逻辑,new关键字创建对象,是原子性的吗?如果不是,会不会就出现了对象初始化错乱的问题?
没明白你的意思,如果我猜得不错的话:
这完全取决于你的构造方法里面的具体的逻辑,毕竟代码是人写的。
输出:
另一个例子,构造器中包含同步块,每一个线程都需要等待前面的线程执行完成后才能执行。
输出: