显示转换在主线程中构造,没有问题,隐式转换在子线程中构造,会出现问题
std::lock_guard<std::mutex> sbguard(my_mutex);
自动帮你进行lock and unlock
std::lock(my_mutex1,my_mutex2) #手动unlock
一次性锁住两个或者两个以上的互斥量,至少两个。如果互斥量中有一个没锁住,它就在那里等着,等所有互斥量都锁住,他才能往下走;要么互斥量都锁住,要么两个互斥量都没有锁住。
这样也不需要手动unlock()