複数のジョブインスタンスを別々のコルーチンから保存することは可能ですか?私は、コルーチンを一度に実行したいとしましょう。コルーチンは無関係で、1つのコルーチンでは実行できませんが、私はそれらを並列に実行します。 Androidでは、onDestroyメソッドでジョブをキャンセルできるようにジョブインスタンスを保存する必要があります。それぞれの仕事をリストに分けて保存するか、何らかのルールを破ることは受け入れられるでしょうか。私はRXに彼らがサブスクリプションを持っていることを知っていますなぜKotlin Coroutinesには同等のものがないのですか?コトルの並列コルーチン
val jobList = arrayListOf<Job>()
fun startJob1() {
jobList.add(launch {
//do some work
})
fun startJob1() {
jobList.add(launch {
//do some other unrelated work
})
override fun onDestroy() {
super.onDestroy()
cancelAllActiveJobs(jobList)
}
このタイプのアーキテクチャはコルーチンにとって意味がありますか?
この方法では、一度に1つの親ジョブしかありません。私の質問は、親の仕事のリストを持つことです。私は、私が尋ねていることの例を与えた。 – BigApeWhat
私が答えで提供したコードは、元のコードとまったく同じです。それは複数のジョブを実行し、それらは依然としてリストに保持されます。それを試してみてください。違いは、すべてのジョブが子であり、親が自動的にリストを保持するので、このリストを明示的に管理する必要はないという点です。 –
UIスレッドでJob()コンテキストを使用することは可能でしょうか。 – BigApeWhat