M>>Можно начать с вопроса: Когда там потоки в С++ на уровне языка/стандартных библиотек появились?
А>"Когда-то" и Путин сперматозоидом был.
А>Не уходим от вопроса.
А>Итак, что там у С++ за траблы с многопоточной невнятностью? И какие языки размалывают его по внятности?
Я не ухожу от вопроса. Для удобного использования многоядерности и вообще распараллеливания чего бы то ни было, нужно иметь, по сути, одну вещь: поддержку этого языком. Когда все, что язык предоставляет — это появившиеся в 2011-м стандарте thread'ы, то далеко на нем не уедешь. Во всяком случае пока умные люди не напишут вокруг всего этого костыли и библиотеки. Потому что первый же залетный mutex.lock убъет любую многопоточность и многоядерность.
По внятности C++ (и кого бы то ни было) размалывает только Erlang. Пока другие тольк-только подбираются к концепциям, которые были в нем уже в начале 90-х, они уже думают о том, как правильно работать на
десятках тысяч ядер, и оптимизируют работу системы для грамотной работы с переключением контекстов в CPU и cache miss.