ไม่ คอนสตรัคเตอร์ ไม่สามารถซิงโครไนซ์ได้ ในชวา JVM ทำให้แน่ใจว่ามีเพียงเธรดเดียวเท่านั้นที่สามารถเรียกใช้การเรียกตัวสร้าง ณ เวลาที่กำหนด นั่นคือเหตุผลที่ไม่จำเป็นต้องประกาศตัวสร้างเป็น ซิงโครไนซ์และ มันคือ illegal ในชวา อย่างไรก็ตาม เราสามารถใช้บล็อกที่ซิงโครไนซ์ได้ ภายในตัวสร้าง
หากเรากำลังพยายามใส่ ซิงโครไนซ์ คำหลัก หน้าคอนสตรัคเตอร์ คอมไพเลอร์บอกว่า "ข้อผิดพลาด:ไม่อนุญาตให้ตัวแก้ไขซิงโครไนซ์ที่นี่ ".
ตัวอย่าง
public class SynchronizedConstructorTest {
// declaration of synchronized constructor
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