2017-07-07 9 views
1

基本的に私はKotlinの要素のリストに長期実行変換を適用しようとしています。今私は.map関数を使用していますが、これは時間のために同時に実行する必要があるときに、すべての変換を連続して実行します。ここでKotlinで同時にリスト内のすべての要素に変換を適用する最も良い方法

は、それが動作するようになりまし方法は次のとおりです。

async { 
    val list = await { list.execute().items.map { initialValue -> 
     getResultAfterALongTime(initialValue) 
    }} 
    onCompletion(list) 
} 

私は、変換を実行し、それが次の要素に先行する前に終了するのを待って.MAP機能を説明したように。どのようにして変換を同時に実行できるようにするには、これを変更する必要がありますか?

+1

async/awaitコールとは何ですか?どの非同期ライブラリですか? – voddan

+0

@voddan kotlinx.coroutines –

答えて

2

parallelStreamが役立ちます。

async { 
    val list = await { list.execute().items.parallelStream().map { initialValue -> 
     getResultAfterALongTime(initialValue) 
    }} 
    onCompletion(list) 
} 
関連する問題