c++多线程锁 Mutex  自动判断死锁

原创
2018/09/19 23:09
阅读数 3.2K

c++多线程锁可以使用absl::Mutex  std::mutex这两种,下面是demo代码

使用absl:Mutex的时候打印:

[mutex.cc : 1338] RAW: Cycle: 
[mutex.cc : 1352] RAW: mutex@0x683b68 stack: 
    @ 0x438562 absl::DebugOnlyDeadlockCheck()
    @ 0x4387b2 absl::Mutex::Lock()
    @ 0x4353d0 runThread2()
    @ 0x7f12851c5184 start_thread

[mutex.cc : 1352] RAW: mutex@0x683b70 stack: 
    @ 0x438562 absl::DebugOnlyDeadlockCheck()
    @ 0x4387b2 absl::Mutex::Lock()
    @ 0x4352e2 runThread1()
    @ 0x7f12851c5184 start_thread

[mutex.cc : 1357] RAW: dying due to potential deadlock

 

可以看到谷歌的锁代码有自动检查死锁功能,非常强悍。

 std::mutex的锁直接死锁无任何提示。

 

 

展开阅读全文
加载中
点击加入讨论🔥(1) 发布并加入讨论🔥
打赏
1 评论
0 收藏
0
分享
返回顶部
顶部