std::thread 二:互斥量(多个互斥量的解决方法)

 

// *:这里的lock是函数模板,最少传两个互斥量

// 第一种,使用 lock  和  unlock
std::mutex m_mutex1;
std::mutex m_mutex2;

std::lock(m_mutex1, m_mutex2);
m_mutex1.unlock();
m_mutex2.unlock();


// 第二种,使用 lock 和 lock_guard
std::mutex m_mutex1;
std::mutex m_mutex2;

std::lock(m_mutex1, m_mutex2);
std::lock_guard<std::mutex> myguard1(m_mutex1, std::adopt_lock);
std::lock_guard<std::mutex> myguard2(m_mutex2, std::adopt_lock);

 

posted @ 2023-06-18 23:02  十一的杂文录  阅读(9)  评论(0编辑  收藏  举报