C++11std::lock_grard管理mutex臨界區(C++多線程相關)

C++11提供了std::lock_guard函數來管理mutex臨界區: 用標準庫提供的鎖可以做到自己提供模板mutex所做不到的功能,如下例子 以下程序在多線程下會進入死鎖: 可以通過比較地址大小來避免死鎖但代碼冗餘太多: 可以用標準庫提供的最正確的寫法: std::lock()同時鎖定多個臨界區變量,lock()函數只管鎖 用std::adopt_lock表示此時的鎖已經在之前lock()過
相關文章
相關標籤/搜索