MinGW-w64 支持带有 Win32 线程的 std::thread 吗?
您最近使用 Win32 线程模型配置了 MinGW-w64,预计增强的性能。但是,您在代码中使用 std::thread 的尝试已被证明是徒劳的。让我们澄清一下情况:
根据用户 rubenvb 的说法,无论安装过程中选择哪种线程模型,std::thread 支持都应该可用。然而,您的经验表明情况并非如此。
为了解决困惑,请考虑以下可能性:
需要强调的是,像 mingw-std-threads 这样的第三方库被排除在本次查询之外,因为它们不符合“开箱即用”标准。因此,让我们关注一个基本问题:
配置 Win32 内部线程模型时,MinGW-w64 是否原生支持使用 std::thread 的代码?
根据现有信息,答案是:
要在 Win32 线程模型下使用 MinGW-w64 启用 std::thread,请考虑安装 mingw-std-threads 标头。这种差异源于 GCC 缺乏本机线程支持,它依赖于 glibc 等外部库来实现线程。由于 MinGW-w64 不包含 glibc,因此您需要使用替代标头来使 std::thread 发挥作用。
以上是具有 Win32 线程模型的 MinGW-w64 是否支持开箱即用的'std::thread”?的详细内容。更多信息请关注PHP中文网其他相关文章!