格式:類名 + 頭文件 + 用例 + 解釋說明
1 模板類類名: 2 std::lock_guard 3 4 頭文件: 5 #include <mutex> 6 7 用例: 8 9 std::mutex m; 10 std::lock_guard<std::mutex> lk(m);
解釋說明:
C++標准庫為互斥量提供了一個RAII語法的模板類std::lock_guard
,在構造時對互斥量上鎖,並在析構的時進行解鎖,從而保證了一個已鎖互斥量能被正確解鎖。
小熊理解:
guard 單詞有守衛的意思, 因此我把 std::lock_guard 叫做 “鎖的守衛” 。 其實在C++編程中,“守衛“ 的編程思想還是很常見也很重要的。