Я активно использую <thread> <atomic> <mutex>
и т. д. в своем коде, который включает в себя несколько алгоритмов без блокировок. Я ориентируюсь (в конечном итоге) на среду Linux. Я разрабатывал с помощью бета-версии Visual Studio 2011, которая, хотя и ужасно лишена других функций С++ 11, кажется единственной набором инструментов, реализующим параллельные функции.
См. поддержку С++ 11 здесь:
Теперь, если другим просто не хватает библиотеки, содержащей параллельные функции C++ 11, я могу легко использовать just::thread, однако и clang, и gcc отвечают "нет" модели памяти С++ 11, которую, по крайней мере, визуальный С++ поддерживает. Я не совсем уверен, каков будет эффект от этого - вероятно, оптимизация кода, по-видимому, свободного от побочных эффектов, среди других ошибочных вещей.
Если пока я полностью избегаю оптимизированных сборок и компилирую только отладочные сборки без включенных оптимизаций — разумно ли использовать тулчейн Clang или GCC?
just::thread
, он будет работать нормально. Он использует нативные (Posix или Win32) примитивы для обеспечения соблюдения таких вещей, как порядок, поэтому я думаю, что компилятор должен быть довольно сильно сломан, чтобы он не работал. - person Jerry Coffin   schedule 07.04.2012just::thread
, чтобы он был кроссплатформенным, так что я не ожидаю никаких проблем. - person Matthieu M.   schedule 07.04.2012