|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
Гарантирует ли стандарт атомарное чтение и запись данных, размер которого не более чем машинное слово?02.03.2018, 22:16. Показов 3438. Ответов 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 | |
|
Помогаю со студенческими работами здесь
62
Как увеличить размер загружаемого файла более чем 100М ? Определить существует ли кандидат, за которого проголосовало более чем половина избирателей
Чтение чисел из двух и более файлов и запись в векторы
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|