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

mutex for multiple threads via queue

本文关键字:线程 队列      更新时间:2023-10-16

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

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

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

标头中声明std::mutex <mutex> C++11 之前不可用。只需将您的编译器升级到应该支持它的 VS 2012(正如我所看到的,这被标记为 visual-c++ )。

如果无法升级,正如juanchopanza所指出的,你可以使用Boost.Thread,或者,如果你已经在使用CreateThread和其他系统调用,你可以使用CreateMutex[1]自己创建一个。