Здравствуйте, hardcase, Вы писали:
H>Это если кэши не когерентны
Это не имеет никакого отношения к вопросу
Пока на пути исполнения кода не встречаются команды связанные с записью по некоторому адресу, всё множество соответствующих команд чтения (обычных) может быть заменено на одно-единственное чтение с сохранением результата "где-то тут рядом". В общем случае такая оптимизация может быть выполнена на любом уровне: от JIT и процессора до контроллера DIMM и конечной микросхемы памяти...
*Уже, наверное, сотый раз об этом пишу...
Re[3]: Thread-safe словарь с авто-инкрементируемым значением
Здравствуйте, AutumnLeaf, Вы писали:
AL>>> private int _counter = -1;
L>>Тут стоит добавить volatile.
AL>А что будет если не добавлять?
В общем формальном случае, поток может никогда не увидеть изменений значения _counter выполненных другими потоками
AL>с другой там внутри Lazy огород ещё покруче нагорожен
Есть достаточно большая вероятность, что в сравнении с Вашим кодом в Lazy накручен гораздо более корректный огород...