Существует много работы, связанной с созданием класса потока, и C ++ 0x в значительной степени решил эту проблему путем добавления потоков, мьютекса и атомарных библиотек, но это заняло много работы у многих людей.
В принципе, помните, что C ++ - это очень большой язык, и изменения в нем происходят довольно медленно из-за сложности языка и количества кода и отрасли, которые на него полагаются; Из-за этого требуется много времени для ратификации изменений в стандарте.
Кроме того, многопоточность и синхронизация обычно были функциональностью, предоставляемой ОС, поэтому любые дополнения должны были быть совместимы с общими реализациями и возможны без значительных изменений в платформах (или никто не смог бы реализовать стандарт).
Технически недостаточно просто добавить API потока, в C ++ также отсутствовала единая модель памяти, т.е. как переменные взаимодействуют между потоками и как мы допускаем, чтобы широкий спектр моделей памяти был выражен в коде кратко (и качественно). Большинству из нас достаточно повезло работать с главным образом однопоточным программным обеспечением на базе x86, которое имеет очень щадящую модель памяти, но есть и другое оборудование, которое не столь простительно с точки зрения модели памяти и где потери производительности могут быть довольно суровыми.
Библиотека решает проблему модели памяти, предоставляя атомарные переменные с простыми значениями по умолчанию и явным контролем.
Библиотека предоставляет еще один ключевой элемент функциональности для переносимых потоков, предоставляя классы синхронизации.
Наконец, было добавлено, и если вы еще не прочитали историю на сайте рабочей группы, это интересно, но простой замены CreateThread, QueueUserWorkItem или вызова pthread в качестве объекта потока недостаточно. Необходимо продумать время жизни потока, управление состоянием и локальное хранилище потока.
На все это потребовалось много времени, чтобы понять все правильно, и, как уже упоминали другие, большая часть этого работала довольно долго, чтобы гарантировать, что основные проблемы были проработаны, и до того, как перейти к новому стандарту, это было согласованно.