У меня есть класс в C #, например:
public MyClass
{
public void Start() { ... }
public void Method_01() { ... }
public void Method_02() { ... }
public void Method_03() { ... }
}
Когда я вызываю метод "Start ()", внешний класс начинает работать и создает много параллельных потоков, которые эти параллельные потоки вызывают«Method_01 ()» и «Method_02 ()» формируются над классом.после завершения работы с внешним классом метод "Method_03 ()" будет запущен в другом параллельном потоке.
Потоки "Method_01 ()" или "Method_02 ()" создаются до создания потока Method_03(), но нет гарантии завершиться до запуска потока "Method_03 ()".Я имею в виду, что «Method_01 ()» или «Method_02 ()» потеряют свой оборот ЦП, а «Method_03» получит оборот ЦП и полностью завершится.
В методе «Start ()» Iзнать общее количество потоков, которые должны создать и запустить «Method_01» и «Method_02 ()».Вопрос в том, что я ищу способ с использованием семафора или мьютекса, чтобы гарантировать, что первый оператор «Method_03 ()» будет выполнен точно после завершения всех потоков, на которых выполняются «Method_01 ()» или «Method_02 ()».