我正在尝试通过队列在两个线程之间共享数据。一个线程推入,另一个线程从队列中弹出。我知道在线程之间进行同步是安全的,因此决定使用互斥锁。我看到的每个论坛在代码中都有#include“mutex”语句,但我得到“致命错误C1083:无法打开包含文件:'mutex':没有这样的文件或 目录“,当我使用它时。请告诉我这个错误是由于。
我正在使用Windows机器和Visual Studio 2005编译器。
答案 0 :(得分:7)
在我正在使用Windows机器和Visual Studio 2005编译器。
std::mutex
标头中声明的 <mutex>
在C ++ 11之前不可用。只需将您的编译器升级到VS {should support it(因为我看到它标有visual-c++
)。
如果无法升级,正如juanchopanza所说,您可以使用Boost.Thread,或者,如果您已经在使用CreateThread
和其他系统调用,则可以使用{{1 }} [1]。