std::lock_guard 和 std::unique_lock 是两个 C++ 标准库类,它们为锁定和管理互斥体提供不同级别的灵活性和功能。
std::lock_guard 是一个简单的包装类,它提供互斥体上的作用域锁。 它获取构造锁并在超出范围时自动释放它。 std::lock_guard 专为需要锁定块或函数的整个范围且不需要更高级功能(例如锁所有权转移或延迟锁定)的情况而设计。
这是 std::lock_guard 用法的示例:
std::mutex mtx;
void exampleFunction()
{
std::lock_guard<std::mutex