首页  >  文章  >  后端开发  >  具有 Win32 线程模型的 MinGW-w64 是否支持开箱即用的'std::thread”?

具有 Win32 线程模型的 MinGW-w64 是否支持开箱即用的'std::thread”?

Linda Hamilton
Linda Hamilton原创
2024-11-04 09:36:02525浏览

Does MinGW-w64 with Win32 Threading Model Support `std::thread` Out of the Box?

MinGW-w64 支持带有 Win32 线程的 std::thread 吗?

您最近使用 Win32 线程模型配置了 MinGW-w64,预计增强的性能。但是,您在代码中使用 std::thread 的尝试已被证明是徒劳的。让我们澄清一下情况:

根据用户 rubenvb 的说法,无论安装过程中选择哪种线程模型,std::thread 支持都应该可用。然而,您的经验表明情况并非如此。

为了解决困惑,请考虑以下可能性:

  • 可能的错误假设:可以想象,您可能误解了 rubenvb 的意图完全,导致您期望不存在的支持。
  • 缺乏直观的支持: std::thread 支持可能以不明显的方式提供。
  • 对 Win32 线程的有限支持:尽管有先前的假设,但具有 Win32 线程模型的 MinGW-w64 可能确实缺乏对 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn