Re[6]: Thread-safe словарь с авто-инкрементируемым значением
От: drol  
Дата: 06.02.15 09:11
Оценка: 8 (1)
Здравствуйте, hardcase, Вы писали:

H>Это если кэши не когерентны


Это не имеет никакого отношения к вопросу

Пока на пути исполнения кода не встречаются команды связанные с записью по некоторому адресу, всё множество соответствующих команд чтения (обычных) может быть заменено на одно-единственное чтение с сохранением результата "где-то тут рядом". В общем случае такая оптимизация может быть выполнена на любом уровне: от JIT и процессора до контроллера DIMM и конечной микросхемы памяти...

*Уже, наверное, сотый раз об этом пишу...
Re[3]: Thread-safe словарь с авто-инкрементируемым значением
От: drol  
Дата: 06.02.15 09:25
Оценка:
Здравствуйте, AutumnLeaf, Вы писали:

AL>>> private int _counter = -1;


L>>Тут стоит добавить volatile.


AL>А что будет если не добавлять?


В общем формальном случае, поток может никогда не увидеть изменений значения _counter выполненных другими потоками

AL>с другой там внутри Lazy огород ещё покруче нагорожен


Есть достаточно большая вероятность, что в сравнении с Вашим кодом в Lazy накручен гораздо более корректный огород...
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.