Является ли синхронизация внутренней концепцией стандарта C++?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Является ли синхронизация внутренней концепцией стандарта C++?

Сообщение Anonymous »


Помимо этих операций, определенных в стандарте C++, есть семантика синхронизации, которая может устанавливать «происходит раньше» согласно [intro.races] стр. 10

Оценка A происходит до оценки B (или, что то же самое, B происходит после A), если:
[*][...] [*]Межпоточный обмен происходит до B.
Оценка A между потоками происходит до оценки B if
[*]A синхронизируется с B или
То есть в двух потоках A происходит раньше, чем B, если A синхронизируется с B. Однако является ли синхронизация внутренней концепцией, определенной только для стандарта C++? Или это открывающаяся концепция, которая может быть определена другими документами (например, документами реализации) за пределами стандарта C++? Другими словами, разрешает ли стандарт C++ другой документ/платформу или третью библиотеку определять отношения синхронизации так, чтобы они в дальнейшем имели отношения «происходит до»?

Я спрашиваю, может ли третья библиотека указать синхронизацию для парных операций так, чтобы они имели отношение «до того, как произошло» в соответствии с приведенным выше определением? Например, на определенной платформе он обеспечивает lock и unlock, что не является инфраструктурой стандартной библиотеки C++, однако нам необходимо использовать их для предотвращения гонки данных на этой платформе. Однако избежание гонки данных зависит от того, смогут ли они установить отношения «происходит до». Если синхронизация является внутренней концепцией стандарта C++, это будет означать, что мы не можем использовать какую-либо третью библиотеку.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»