|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
Гарантирует ли стандарт атомарное чтение и запись данных, размер которого не более чем машинное слово?02.03.2018, 22:16. Показов 3576. Ответов 61
Метки нет (Все метки)
Насколько я знаю атомарность для чтения и записи данных которые не более чем одно машинное слово, гарантируется на уровне процессора. А со стороны стандарта с++ есть подобные гарантии? Тут речь не про std::atomic, а именно про обычные переменные.
0
|
|
| 02.03.2018, 22:16 | |
|
Ответы с готовыми решениями:
61
Найти минимальный элемент, двоичная запись которого заканчивается не более чем двумя нулями
Из 8 машинных слов сформировать новое машинное слово. Подсчитать количество идентичных слов в сегменте данных. |
|
6 / 6 / 2
Регистрация: 27.08.2017
Сообщений: 28
|
|||||||
| 10.03.2018, 15:07 | |||||||
|
Можно без блокирующихся ядер? Откуда дополнительные свойства барьеров? Требует это "shall", а тут "should". Т.е. он рекомендует. Очень размытыми формулировками, про некое "reasonable amount of time".
Эта цитата как бы тоже не на стороне твоего утверждения про гарантию чтения последнего значения, т.к. видно, что существование последнего значения и его видимость другим потокам стандарт разделяет. Т.е. оно может существовать, но потоку, выполняющему load acquire, оно может быть не видимо в течение произвольного, но конечного (следующие 10 млн. лет после появления, например) периода времени. Ну и самое главное: я переформулировал перевод так, что он звучит ближе к оригиналу. Почему стандарт не говорит нам, что load acquire берёт значение из последнего store release или из последнего side effect-а в modification order, а от любого side effect-a из release sequence (начинающейся с определённого store release)? Вроде вопрос был про гарантию со стороны стандарта...
0
|
|||||||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
||||||
| 10.03.2018, 16:46 [ТС] | ||||||
|
Если на уровне процессора, тогда это самое "не дают переставлять" как раз таки достигается принудительным освобождением очередей ядра (store и load очереди). Вот например отсюда: https://mechanical-sympathy.bl... ences.html
На мой взгляд это означает то, что если компилятор должен где то поставить барьер, то не нужно совать еще какие то инструкции до барьера, которые напрямую не связаны с контекстом выполнения. Наверное так обычно и делается. Думаю это просто напоминание разработчикам компиляторов. ![]() Но учитывая рекомендацию стандарта и уже изложенную мною информацию, а так же результат выполнения кода с предыдущей страницы, думаю есть все основания полагать, что так и будет (чтение как правило последней записи) и что стандарт рекомендует именно такое компиляторам не препятствовать этому поведению лишними инструкциями и разработчики компиляторов по идее должны следовать этим рекомендациям, если у них нет весомых причин на обратное.
0
|
||||||
| 10.03.2018, 16:46 | |
|
Как увеличить размер загружаемого файла более чем 100М ? Определить существует ли кандидат, за которого проголосовало более чем половина избирателей
Чтение чисел из двух и более файлов и запись в векторы
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 30. Фосфорный и азотный замки по "честному" закону лимитирования Либиха
anaschu 16.07.2026
Основные достижения за последние дни
1. Механизм отложенного высвобождения фосфора
Добавлен специальный пул для медленного разложения меланизированных гиф ЕСМ
Реализована разная скорость. . .
|
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2.
Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
|
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её.
Всё это стресс конечно. Почему?. . .
|
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот.
Ларри Уингет
|
|
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|