Files
netch/RouteHelper/WaitGroup.cpp
2021-11-10 14:09:38 +08:00

20 lines
319 B
C++

#include "WaitGroup.h"
void WaitGroup::Add(int size)
{
this->counter += size;
}
void WaitGroup::Done()
{
if (--this->counter <= 0)
this->condition.notify_all();
}
void WaitGroup::Wait()
{
std::unique_lock<std::mutex> lock(this->mutex);
condition.wait(lock, [&] { return counter <= 0; });
}