Thread-safe
với `Sing...
Thread-safe
với `Sing...
Một lớp thread-safe singleton được tạo để giúp khởi tạo đối tượng trong môi trường đa luồng. Nó có thể thực hiện bằng nhiều cách:
public enum ThreadSafeSingleton{
SINGLETON_INSTANCE;
public void display(){
System.out.println("Thread-safe singleton Display");
}
}
// The Singleton class methods can be invoked as below
ThreadSafeSingleton.SINGLETON_INSTANCE.show();
public class ThreadSafeSingleton{
private static final ThreadSafeSingleton INSTANCE = new ThreadSafeSingleton();
private ThreadSafeSingleton(){ }
public static ThreadSafeSingleton getInstance(){
return INSTANCE;
}
public void display(){
System.out.println("Thread-safe Singleon");
}
}
ThreadSafeSingleton.getInstance().display();
Nhưng nhược điểm của cách này là việc khởi tạo không thể thực hiện theo cách lazy và phương thức getInstance()
được gọi trước khi bất kỳ client nào có thể gọi.
getInstance()
như bên dưới:
senior
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào