отрывок из Managed Threading Best Practices
на MSDN:Что такое многопотоковая парадигма?
Не контролировать выполнение рабочих потоков от основной программы (с помощью событий, например). Вместо этого создайте свою программу так, чтобы рабочие потоки несли ответственность за то, что она будет доступна, выполняя ее и уведомляя другие части вашей программы по окончании. Если ваши рабочие потоки не блокируются, подумайте о потоках пула потоков. Monitor .. ::. PulseAll полезен в ситуациях, когда блокируются рабочие потоки.
Я хочу знать, что это описывает, поэтому я могу искать базовые реализации, чтобы начать работать.