KotlinのCoroutineで大量の処理を複数実行したいです。処理を並列実行するには以下のように、asyncで動かして、awaitで待ち合せればいいとのことですが、この処理が大量にある場合はどうしたらいいのでしょうか?
例えば以下のprocess関数に1~1000を代入して関数を走らせるとします。それぞれの処理に1秒かかるとしたら、普通にやれば1000秒、並列処理で行えば1秒で処理が終わることになります。しかし、以下のように1000個すべてにawait()と書くわけにもいきませんし、そもそも1000という数が動的に変わる値であったら対応できません。
このような場合はどのように並列処理を実現するのでしょうか?
Kotlin
1fun runMain(): Job = scope.launch { 2 val price1 = async { process(1) } 3 val price2 = async { process(2) } 4 println("Result: ${price1.await()}, ${price2.await()}) 5}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/20 15:15