Поддержка многопоточности в c11

Новый стандарт C11 обеспечивает поддержку многопоточности.
Мои вопросы немного разнообразны, но однозначно требуют ответов.
Я смотрел черновик C11 n1570 .
В нем говорится:

поддержка нескольких потоков выполнения, включая улучшенное упорядочение памяти. модель, атомарные объекты и локальное хранилище потока ( и )

Что такое Улучшенная модель упорядочения памяти ? Как / Что отличается от стандарта c99?

Я буду признателен, если кто-то углубится в них глубже и попытается объяснить задействованную семантику, а не просто цитаты из стандарта.

Насколько я понимаю, C11 поддерживает:

  • Создание потоков и управление ими
  • Mutex
  • Условные переменные
  • Хранилище для конкретных потоков и
  • Атомные объекты

Надеюсь, я не пропустил что-нибудь?
Поскольку теперь сама стандартная библиотека предоставляет (будет предоставлять) все функции, необходимые для многопоточности, в будущем отпадет необходимость в POSIX и подобных библиотеках (для поддержки многопоточности)?

И наконец, какие компиляторы обеспечивают поддержку вышеупомянутых функций? Есть ли какие-либо ссылки на сроки, когда они будут поддержаны?
Я помню, что для C ++ 11 была ссылка на поддержку и функции компилятора, возможно, что-то в этом роде?

68
задан Robert Harvey 26 April 2013 в 23:17
поделиться