Потокобезопасные мультитоны в Java
Учитывая следующий мультитон:
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 () и споров о двойной проверке блокировки? Упоминается эффективный способ для одиночекВот но это, похоже, не распространяется на мультитоны.