Re[2]: Нужны ли тут кртические секции?
От: CFA Россия  
Дата: 27.10.11 10:21
Оценка:
Здравствуйте, acDev, Вы писали:

D>Если изменяемое значение является счётчиком (или подобным), то без Interlocked* функций не обойтись!

D>А если у вас просто флаговое предназначение "слова", то достаточно просто выровнять "слово" на 4 байт, что бы обеспечить атомарность.

Не это не счетчик, но и не флаг — а некоторое число, которое будет использоваться в вычислениях основным потоком. Когда любой из потоков его меняет, он не опирается на предыдущее значение. Таким образом не важно, кто записал, важно чтоб число было в точности таким, какое записывал один из потоков, а не "каша" из них.
Получается, если слово не выровнено на 4 байта, то может произойти такая ситуация, когда действительно половина слова записана одним потоком, а вторая половина другим? Полагаю, что пруфы надо искать где-то на сайте интела/амд? Если знаете, был бы признателен за ссылку на оные.
Я пишу — по ночам больше тем.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.