// <최대카운터> (counter 초기값)
// 0 <= counter <= MAX (넘어가면 크래시)
std::counting_semaphore<3> sem(3);
void Download(std::string name)
{
sem.acquire(); // --sem.counter
for (int i = 0; i < 100; ++i)
{
std::cout << name;
}
sem.release(); // ++sem.counter
}