【发布时间】:2019-06-22 13:49:40
【问题描述】:
我有一个由线程调用的函数 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() 是从多个地方调用的。但我希望这个单线程只在应用程序的一个地方执行。
【问题讨论】:
-
await 关键字怎么样?异步等待我在 kotlin 中使用它
-
我不在 kotlin。对 Android 的基于 Java 的 rxjava 有什么建议吗?
标签: android multithreading rx-java2 rx-android