Re: Вопрос про Thread.MemoryBarrier
От: drol  
Дата: 24.09.11 07:15
Оценка: -1
Здравствуйте, Коваленко Дмитрий, Вы писали:

КД>Я правильно понимаю, что вызов MemoryBarrier предотвращает возможность трансформации get_data (в процессе компиляции с оптимизацией) в код вида


Нет, Вы всё понимаете абсолютно неправильно.

MemoryBarrier не имеет (почти) никакого отношения к оптимизациям компилятора. Более того, в данном примере совершенно очевидно, что "код вида" однопоточно неэквивалентен исходному коду — бо там два обращения к m_Options против одного в оригинале. И поэтому никакая оптимизация — хоть компилятора, хоть процессора — такую трансформацию сделать не может.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.