我注意到有趣的行为:
我会写
class My {
public My(){
synchronized(this){
// code
}
}
}
但是我不会写
class My {
public synchronized My(){
// code
}
}
}
我认为这两种结构的工作原理与 java API 相同。
请澄清这个误解。
最佳答案
在第一种情况下,对象几乎被创建,只需要执行构造函数的主体。
但是,在第二种情况下,不会有任何对象要同步。
关于java - 构造函数内的同步部分和同步构造函数的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23337508/