std::thread, posix线程和win32线程在MinGW-W64
std::thread, posix threads, and win32 threads in MinGW-W64
我正在使用MinGW_W64,我在决定如何使用"threading"选项时遇到了麻烦。我可以使用posix线程或win32线程。到目前为止,我一直在使用c++ 11的"std::thread"来处理线程(它需要posix threads选项),我真的很喜欢这样做的接口。然而,我从多个来源读到posix线程明显比win32线程慢,性能对我来说是一个大问题。
我的项目最终将是多平台的,但目前我的主要开发机器是运行Windows 7。
我的问题是:MinGW_W64的posix线程比win32线程慢吗?如果是这样,我该如何编写一个包装器,让我使用类似std::thread的接口,但在底层使用win32线程(或者如果有人已经编写了这样的包装器)?
已经有一个轻量级的本地实现std::thread和同步原语的MinGW,在纯WINAPI中实现:https://github.com/meganz/mingw-std-threads
它是一个头文件库,应该与具有适当c++ 11支持的任何版本的MinGW一起工作。
相关文章:
- C++线程:如何在一个线程仍在运行时阻止另一个线程执行 (Win32)
- 一个简单的 win32 多线程代码.这能行吗?
- 在 Win32 API 中使用多线程
- 如何使用 Win32 API 从 Excel VBA 中的非"Single-Threaded Apartment"线程调用 InternetGetProxyInfo
- 安全地退出程序 Win32 C++从分离的 std::线程
- win32程序应该始终是多线程的吗
- win32 标准::线程泄漏内存
- 在使用Win32线程模型时,MinGW-w64是否支持开箱即用的std::线程
- 如何使用 Win32 API 获取任何线程的堆栈大小和堆栈限制
- Win32 控制台代码在哪里运行?从多个线程使用时控制台挂起
- 如何使用win32从多线程上下文初始化线程基元
- C++Win32 在低优先级模式下运行应用程序/线程
- C++/Win32 我在 Windows 2000+ 上启动线程的最佳方式
- 使用本机windows API实现win32线程安全队列
- C ++如何使用Win32 API通过线程从文本框获取文本
- 对 win32 线程使用不同的静态库内存
- 信号量无法阻止 Win32 控制台应用中的线程
- 仅使用 Win32 API 的线程屏障类
- 如何从win32进程中获取线程句柄列表
- 多线程Win32 c++程序在多线程中使用try/catch时会崩溃