नहीं, जावा में एक कंस्ट्रक्टर सिंक्रोनाइज़ नहीं किया जा सकता। JVM यह सुनिश्चित करता है कि किसी दिए गए समय पर केवल एक थ्रेड कंस्ट्रक्टर कॉल को इनवोक कर सकता है। इसलिए कंस्ट्रक्टर को सिंक्रोनाइज़्ड घोषित करने की कोई आवश्यकता नहीं है और यह जावा में अवैध है। हालांकि, हम कंस्ट्रक्टर के अंदर सिंक्रोनाइज़्ड ब्लॉक्स का उपयोग कर सकते हैं।
यदि हम कंस्ट्रक्टर से पहले सिंक्रोनाइज़्ड कीवर्ड लगाने का प्रयास करते हैं, तो कंपाइलर कहता है कि "error: modifier synchronized not allowed here"।
उदाहरण
public class SynchronizedConstructorTest {
// सिंक्रोनाइज़्ड कंस्ट्रक्टर की घोषणा
public synchronized SynchronizedConstructorTest() {
System.out.println("Synchronized Constructor");
}
public static void main(String args[]) {
SynchronizedConstructorTest test = new SynchronizedConstructorTest();
}
}
आउटपुट
SynchronizedConstructorTest.java:3: error: modifier synchronized not allowed here public synchronized SynchronizedConstructorTest() { ^ 1 error