通过队列的多个线程的互斥锁

时间:2013-09-15 10:04:18

标签: c++ multithreading visual-c++ thread-safety mutex

我正在尝试通过队列在两个线程之间共享数据。一个线程推入,另一个线程从队列中弹出。我知道在线程之间进行同步是安全的,因此决定使用互斥锁。我看到的每个论坛在代码中都有#include“mutex”语句,但我得到“致命错误C1083:无法打开包含文件:'mutex':没有这样的文件或 目录“,当我使用它时。请告诉我这个错误是由于。

我正在使用Windows机器和Visual Studio 2005编译器。

1 个答案:

答案 0 :(得分:7)

  

我正在使用Windows机器和Visual Studio 2005编译器。

std::mutex标头中声明的

<mutex>在C ++ 11之前不可用。只需将您的编译器升级到VS {should support it(因为我看到它标有visual-c++)。

如果无法升级,正如juanchopanza所说,您可以使用Boost.Thread,或者,如果您已经在使用CreateThread和其他系统调用,则可以使用{{1 }} [1]