아니요 , 생성자는 동기화할 수 없습니다. 자바에서. JVM은 주어진 시점에 하나의 스레드만 생성자 호출을 호출할 수 있도록 합니다. 그렇기 때문에 생성자를 동기화 및 로 선언할 필요가 없습니다. 불법입니다나는 자바에서. 그러나 동기화된 블록을 사용할 수 있습니다. 생성자 내부.
동기화된 키워드 생성자 앞에 컴파일러는 "오류:수정자 동기화가 여기에서 허용되지 않음 ".
예시
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