Во-первых, не списывайте C ++ 11.Параллельная работа для новых стандартов была выполнена под эгидой C ++ 11, а затем импортирована в C11 с явной целью обеспечения совместимости.Хотя есть некоторые синтаксические различия (например, из-за того, что обычный C не имеет шаблонов или перегрузок функций), семантически они идентичны по конструкции.Для «доказательства» этого можно проверить документы WG14.Например:
и ссылки на них.Более подробную информацию можно найти по адресу Веб-сайт Open Std
Теперь к вашим вопросам:
Что такое улучшенная модель секвенирования памяти?
Очевидный ответ заключается в том, что он был изменен с учетом нескольких потоков и их взаимодействия.Для более длинного ответа см. C ++ 11 представил стандартизированную модель памяти.Что это значит?И как это повлияет на программирование на C ++? , которое уже упоминалось в комментариях.Для более глубокого понимания ответ на стекопоток, возможно, не является правильным местом (тем более, вопрос с несколькими подвопросами!).Но, к счастью, Ханс Бём поддерживает очень хорошую страницу с интересными ссылками для дальнейшего чтения (опять же, имейте в виду, что модели памяти C11 и C ++ 11 семантически идентичны)
Надеюсь, я ничего не пропустил?
Вместе с моделью памяти ваш список, кажется, охватывает дополнения параллелизма в C11.Для других изменений в Википедии есть список ;из головы я не могу придумать ничего, что пропустил список Википедии.
Поскольку теперь стандартная библиотека сама предоставляет (обеспечит) все функции, необходимые для многопоточности, в будущем не будет необходимости в POSIX и таких библиотеках (для поддержки многопоточности)?
Да, они будут нужны.Во-первых, никто не собирается переписывать весь существующий код, который использует различные существующие API потоков.Во-вторых, библиотека потоков C (++) 11, скорее всего, будет реализована как оболочка для различных библиотек собственных потоков;черт возьми, есть даже документированный способ получения указателя на базовый собственный поток, в случае, если нужно сделать что-то помимо того, что поддерживает библиотека потоков C (++).Думайте о библиотеке потоков C (++) 11 больше как о переносимой оболочке с наименьшим общим знаменателем для различных библиотек собственных потоков.
Наконец, какие компиляторы обеспечивают поддержку вышеупомянутых функций?Есть ли ссылки на сроки, когда они будут поддерживаться?Я помню, что для C ++ 11 была ссылка на поддержку и функции компилятора, возможно, что-то в этом роде?
Я не видел подробного списка, там не так много шумавокруг C11 по сравнению с C ++ 11.Здесь есть краткое уведомление о предстоящем GCC 4.7: http://gcc.gnu.org/gcc-4.7/changes.html.Для поддержки параллелизма можно проверить поддержку параллелизма на странице состояния C ++ 11 здесь: http://gcc.gnu.org/projects/cxx0x.html.Также есть некоторые заметки о текущем состоянии и планах GCC на http://gcc.gnu.org/wiki/Atomic (согласно этой странице доступен stdatomic.h).Для других компиляторов есть хороший список статуса C ++ 11 для различных компиляторов здесь http://www.aristeia.com/C++11/C++11FeatureAvailability.htm.По ссылкам можно проверить состояние поддержки параллелизма, и при условии, что рассматриваемый поставщик планирует поддерживать C11, поддержка параллелизма C11, вероятно, будет примерно на том же уровне.