pom*_*roy 10 c++ multithreading deadlock
以下代码包含潜在的死锁,但似乎是必要的:要将数据安全地从另一个容器复制到一个容器,必须锁定这两个容器以防止在另一个线程中发生更改.
void foo::copy(const foo & rhs)
{
pMutex->lock();
rhs.pMutex->lock();
// do copy
}
Run Code Online (Sandbox Code Playgroud)
Foo有一个STL容器,"do copy"主要包括使用std :: copy.如何在不引入死锁的情况下锁定两个互斥锁?