Учитывая следующий мультитон:
public class Multiton
{
private static final Multiton[] instances = new Multiton[...];
private Multiton(...)
{
//...
}
public static Multiton getInstance(int which)
{
if(instances[which] == null)
{
instances[which] = new Multiton(...);
}
return instances[which];
}
}
Как мы можем сделать его потокобезопасным и ленивым без дорогостоящей синхронизации метода getInstance() и спор о блокировке с двойной проверкой? Эффективный способ для синглетонов упоминается здесь, но, похоже, он не распространяется на мультитоны.