In the first case, the object is almost created, only the body of the Constructor need to executed.
But, in the second case, there won't any object to synchronize.
سؤال
I noticed interesting behaviour:
I can write
class My {
public My(){
synchronized(this){
// code
}
}
}
but I cannot write
class My {
public synchronized My(){
// code
}
}
}
I thought that both constructions works identically terms java API.
Please clarify this misunderstanding.
المحلول
In the first case, the object is almost created, only the body of the Constructor need to executed.
But, in the second case, there won't any object to synchronize.
نصائح أخرى
It is impossible situation that two Threads will create same object !
Thus synchronized modificator hasn't sense for constructor.