Я выбрал модель Threading Win32 при установке инструментальной метки MinGW-w64, прочитав, что она обеспечивает лучшую производительность, чем аналоги POSIX. Я не квалифицирован для тестирования этого требования самостоятельно, но здесь источник для него.
Сначала я думал, что этот параметр повлияет только на внутреннюю работу среды выполнения GCC, не мешая мне использовать потоки С++ 11 в моем коде на основе этого ответа и этот комментарий от пользователя rubenvb.
Однако, похоже, это не так. В этой установке MinGW-w64 отсутствует поддержка std::thread
.
Я вызываю g++ из командной строки без параметров, отличных от -std=c++11
.
В этот момент я не уверен, что:
- rubenvb был неправильным, и на самом деле необходимо установить MinGW-w64 под моделью потоковой POSIX, чтобы скомпилировать мой код, который зависит от библиотеки С++ 11
thread
, или; - Я полностью не понял все это; или
-
std::thread
фактически поддерживается в моем сценарии, он просто не интуитивно понятен.
Я подчеркиваю часть "из коробки" в названии. Существует библиотека под названием mingw-std-threads, как представлено в этом ответе. Однако в качестве стороннего варианта это не имеет отношения к этому вопросу.
Итак, на сегодняшний день (май 2016 г.), поддерживает ли MinGW-w64 nativelly std::thread
в зависимости от кода, когда он установлен с внутренней версией Win32?