Computer >> Máy Tính >  >> Lập trình >> Java

Một phương thức khởi tạo có thể được đồng bộ hóa trong Java không?


Không , một hàm tạo không thể được đồng bộ hóa trong Java. JVM đảm bảo rằng chỉ một luồng có thể gọi hàm tạo tại một thời điểm nhất định. Đó là lý do tại sao không cần khai báo hàm tạo là đồng bộ hóa và nó là bất hợp pháp l trong Java. Tuy nhiên, chúng tôi có thể sử dụng khối được đồng bộ hóa bên trong một phương thức khởi tạo.

Nếu chúng tôi đang cố gắng đặt một đồng bộ hóa từ khóa trước một hàm tạo, trình biên dịch thông báo rằng " error:modifier được đồng bộ hóa không được phép ở đây ".

Ví dụ

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();
      }
}

Đầu ra

SynchronizedConstructorTest.java:3: error: modifier synchronized not allowed here
public synchronized SynchronizedConstructorTest() {
^
1 error