teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

runBlockingについて補足

2018/08/01 06:16

投稿

kakajika
kakajika

スコア3133

answer CHANGED
@@ -10,4 +10,14 @@
10
10
  // 並列に非同期処理を実行
11
11
  // (先に全てのasyncを開始して、それからawaitする)
12
12
  val results = list.map { async { ... } }.map { it.await() }
13
+ ```
14
+
15
+ ##### 補足
16
+
17
+ CountDownLatchのように、コルーチン外でasyncの結果を待ちたい(現在のスレッドをブロックしたい)ということであれば、runBlockingを使ってください。
18
+
19
+ ```kotlin
20
+ runBlocking {
21
+ val results = list.map { async { ... } }.map { it.await() }
22
+ }
13
23
  ```