В настоящее время у меня есть программа, реализующая шаблон проектирования Singleton:
public class Singleton {
private static Singleton s;
private Singleton(){
}
public static Singleton getInstance(){
if(s == null){
s = new Singleton();
}
return s;
}
}
В одном из интервью меня спросили, что для такой программы есть несколько хороших способов сделать поток метода getInstance безопасным. Я знаю, что один из методов - это просто синхронизировать теги перед этим методом, но интервьюер сказал, что есть и другие, более эффективные способы решения проблемы обеспечения безопасности потоков.
Может кто-нибудь предложить какие-нибудь идеи?