aboutsummaryrefslogtreecommitdiffstats
path: root/kotlinx-coroutines-core/jvm/test/guide/example-basic-04.kt
diff options
context:
space:
mode:
Diffstat (limited to 'kotlinx-coroutines-core/jvm/test/guide/example-basic-04.kt')
-rw-r--r--kotlinx-coroutines-core/jvm/test/guide/example-basic-04.kt18
1 files changed, 14 insertions, 4 deletions
diff --git a/kotlinx-coroutines-core/jvm/test/guide/example-basic-04.kt b/kotlinx-coroutines-core/jvm/test/guide/example-basic-04.kt
index 69f82771..efac7085 100644
--- a/kotlinx-coroutines-core/jvm/test/guide/example-basic-04.kt
+++ b/kotlinx-coroutines-core/jvm/test/guide/example-basic-04.kt
@@ -7,11 +7,21 @@ package kotlinx.coroutines.guide.exampleBasic04
import kotlinx.coroutines.*
+// Sequentially executes doWorld followed by "Done"
fun main() = runBlocking {
- val job = GlobalScope.launch { // launch a new coroutine and keep a reference to its Job
+ doWorld()
+ println("Done")
+}
+
+// Concurrently executes both sections
+suspend fun doWorld() = coroutineScope { // this: CoroutineScope
+ launch {
+ delay(2000L)
+ println("World 2")
+ }
+ launch {
delay(1000L)
- println("World!")
+ println("World 1")
}
- println("Hello,")
- job.join() // wait until child coroutine completes
+ println("Hello")
}