【发布时间】:2012-08-21 07:06:44
【问题描述】:
C++ 标准库提供std::mutex (lock, unlock, try_lock) 功能,可以在多线程环境中工作。
我还听说过有关包装库(例如Boost::mutex)的讨论,据我所知,它们提供相同的功能(lock, unlock, try_lock)。
我的问题是,使用此类包装库与标准包装库相比有什么优势?
【问题讨论】:
-
从历史上看,在 C++11 之前的 C++ 中没有真正的多线程(尽管许多编译器和库都提供了它)。 Boost 是一个试验场,
mutex的 boost 实现与unordered_map一样,是标准中集成的基础。所以你可以说std::mutex是boost::mutex的改进。
标签: c++ multithreading locking mutex standard-library