Files
Archive/netch/RouteHelper/WaitGroup.cpp
2024-03-05 02:32: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; });
}