According to the Java Language Specification, constructors
cannot be marked synchronized because other threads cannot see the object
being created until the thread creating it has finished it.
Syncronized on the constructor would prevent two
threads from calling the constructor on the same Object simultaneously, and
that is not possible, as it is never possible to call the constructor on an
object instance twice, period.
And when the constructor is called you still don't have the
object. It is logically impossible for two threads to access the constructor of
the same object.
No comments:
Post a Comment