Синхронизация: запуск потока, когда все остальные потоки покинули

#multithreading #synchronization #mutex #semaphore #monitor

#многопоточность #синхронизация #мьютекс #семафор #монитор

Вопрос:

Вот сценарий: когда мое приложение завершает работу, я хочу запустить поток удаления, но он должен сразу перейти в режим сна. Я хочу, чтобы все запущенные потоки вошли в раздел очистки. Как только все эти потоки завершат свою работу и покинут раздел, я хочу, чтобы раздел утилизации проснулся и завершил завершающий процесс.

Какой механизм синхронизации мне следует использовать, мьютекс, монитор или семафор? и как?

Спасибо.

Комментарии:

1. Семафор или обратный отсчет

2. Есть ли вообще какой-либо способ избежать или устранить необходимость в этом усилии, например. путем очистки при запуске вместо завершения работы?