ObjectList local;
{
std::lock_guard<std::mutex> lock(mutex_);
for (auto& obj : objects_) {
local.emplace_back(obj);
}
}
if (!local.empty()) {
for (auto& obj : local) {
(*obj)(args...);
}
}
加锁时,快速取出数据。调用是,数据在本地,不用加锁,快速调用。