我有多个线程修改stl向量和stl列表.
如果容器是空的,我想避免必须锁定
以下代码是否是线程安全的?如果项目是列表或地图怎么办?
class A
{
vector<int> items
void DoStuff()
{
if(!items.empty())
{
AquireLock();
DoStuffWithItems();
ReleaseLock();
}
}
}
Run Code Online (Sandbox Code Playgroud)