c++中的互斥锁:std::lock_guard 和std::unique_lock
适用场景: std::unique_lock 适用于需要在代码中多次解锁和重新锁定互斥锁的复杂场景,比如需要在等待条件满足时释放锁以避免阻塞其他线程。这种方式提供了更高的灵活性,可以避免在等待过程中长时间占用锁,使得其他线程能够在此期间获得锁。这种方式锁定粒度固定且较小,适用于整个操作都需要在锁定状态下完成的情况。write 函数: 使用 std::lock_guard。read 函数: 使用 std::unique_lock。锁的类型: 使用的是 std::unique_lock。
原创
2024-09-03 14:23:14 ·
671 阅读 ·
0 评论