lock_guard

C++11 mutex方便的自解锁lock_guard

对着背影说爱祢 提交于 2019-12-05 18:07:59
C++11 中新增了mutex.用法就是简单的lock,unlock 下面是cpprefrence里的使用mutex的代码。 #include <iostream> #include <map> #include <string> #include <chrono> #include <thread> #include <mutex> std::map<std::string, std::string> g_pages; std::mutex g_pages_mutex; void save_page(const std::string &url) { // simulate a long page fetch std::this_thread::sleep_for(std::chrono::seconds(2)); std::string result = "fake content"; g_pages_mutex.lock(); g_pages[url] = result; g_pages_mutex.unlock(); } int main() { std::thread t1(save_page, "http://foo"); std::thread t2(save_page, "http://bar"); t1.join(); t2.join(); g_pages