В этой статье (написанной Гэвином Кларком, который цитирует Херба Саттера) говорится, что
Модель памяти означает, что код C++
теперь имеет стандартизированную библиотеку для вызова
независимо от того, кто создал компилятор
и на какой платформе он работает.
Существует стандартный способ управления тем, как
различные потоки взаимодействуют с
памятью процессора.
«Когда вы говорите о разделении
[кода] между различными ядрами, которое
в стандарте, мы говорим о
модели памяти. Мы собираемся
оптимизировать ее, не нарушая
следующих предположений, которые люди собираются
сделать в код», — сказал Саттер.
Ну, я могу заучить этот и подобные абзацы, доступные в Интернете (поскольку у меня есть собственная модель памяти с рождения
Программисты на C++ разрабатывали многопоточные приложения еще раньше, так как же это происходит? имеет ли значение, если это потоки POSIX, потоки Windows или потоки C++11? Каковы преимущества? Я хочу понять детали низкого уровня.
У меня также такое ощущение, что модель памяти C++11 каким-то образом связана с поддержкой многопоточности C++11, поскольку я часто вижу их вместе. Если да, то как именно? Почему они должны быть связаны?
Я не знаю, как устроена многопоточность и что вообще означает модель памяти.
Подробнее здесь: https://stackoverflow.com/questions/631 ... ow-is-it-g
Мобильная версия