Re[5]: Доступ к локальной переменной из разных потоков
От: Sharov Россия  
Дата: 12.01.21 10:32
Оценка:
Здравствуйте, netch80, Вы писали:

N>Барьер памяти это вообще не про синхронизацию кэшей. Это про установление соотношений по времени между видимостью другими операций, сделанных в исполняемом треде, в его потоке процессорных инструкций, а также для действий в коде на языках более высокого уровня (начиная с C).


А для ассемблера это разве не актуально, процессор все равно же может переставить инструкции (ooe)?

N>И аналогично, тут решается вставлением барьера компилятора. Альтернативно, чтение `a` помечается как volatile, но надо знать побочные эффекты этого метода. И, не отходя от кассы, volatile в C это не volatile в C#.)


А в чем отличия? Запрет на оптимизацию действий с переменной + барьер.
Кодом людям нужно помогать!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.