У меня есть функция funcA (), которая вызывается потоком.Эта функция funcA () вызывает несколько функций, которые выполняются в других параллельных потоках.Я хочу, чтобы мой первый поток, вызвавший funcA (), дождался, пока все эти потоки не завершили свою работу, а затем перешел к следующей строке для дальнейшего выполнения.
например, Thread1 -> funcA ();
funcA()
{
funcBackground();
//Once the above method's threads have completed their work
doSomeOtherWork();
}
funcBackground()
{
Thread2 -> doJob1();
Thread3 -> doJob2();
Thread4 -> doJob3();
.
.
.
//All the above threads have completed their work
}
Как мне этого добиться?Я знаю, что вы можете подумать, если я хочу запустить все в одном потоке, то почему я использую несколько потоков в funcBackground ().Дело в том, что мой funcBackground () вызывается из нескольких мест.Но я хочу, чтобы выполнение этого одного потока выполнялось только в одном месте приложения.