В C++11 представлена ​​стандартизированная модель памяти. Что это значит? И как это повлияет на программирование на C++?C++

Программы на C++. Форум разработчиков
Anonymous
В C++11 представлена ​​стандартизированная модель памяти. Что это значит? И как это повлияет на программирование на C++?

Сообщение Anonymous »

В C++11 представлена ​​стандартизированная модель памяти, но что именно это означает? И как это повлияет на программирование на C++?
В этой статье (написанной Гэвином Кларком, который цитирует Херба Саттера) говорится, что

Модель памяти означает, что код C++
теперь имеет стандартизированную библиотеку для вызова
независимо от того, кто создал компилятор
и на какой платформе он работает.
Существует стандартный способ управления тем, как
различные потоки взаимодействуют с
памятью процессора.
«Когда вы говорите о разделении
[кода] между различными ядрами, которое
в стандарте, мы говорим о
модели памяти. Мы собираемся
оптимизировать ее, не нарушая
следующих предположений, которые люди собираются
сделать в код», — сказал Саттер.

Ну, я могу заучить этот и подобные абзацы, доступные в Интернете (поскольку у меня есть собственная модель памяти с рождения :P), и даже могу публиковать сообщения в качестве ответа на вопросы, заданные другими, но, честно говоря, я этого не совсем понимаю.
Программисты на C++ разрабатывали многопоточные приложения еще раньше, так как же это происходит? имеет ли значение, если это потоки POSIX, потоки Windows или потоки C++11? Каковы преимущества? Я хочу понять детали низкого уровня.
У меня также такое ощущение, что модель памяти C++11 каким-то образом связана с поддержкой многопоточности C++11, поскольку я часто вижу их вместе. Если да, то как именно? Почему они должны быть связаны?
Я не знаю, как устроена многопоточность и что вообще означает модель памяти.

Подробнее здесь: https://stackoverflow.com/questions/631 ... ow-is-it-g

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