diff --git a/README.md b/README.md index 68bda5f8cb..f3506d105b 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ suspend fun main() = coroutineScope { } ``` -> Play with coroutines online [here](https://pl.kotl.in/hG_tKbid_) +> Play with coroutines online [here](https://pl.kotl.in/9zva88r7S) ## Modules diff --git a/docs/topics/coroutines-basics.md b/docs/topics/coroutines-basics.md index b4a7c0a7ca..d7d6700342 100644 --- a/docs/topics/coroutines-basics.md +++ b/docs/topics/coroutines-basics.md @@ -71,7 +71,7 @@ as threads are expensive resources and blocking them is inefficient and is often ### Structured concurrency Coroutines follow a principle of -**structured concurrency** which means that new coroutines can be only launched in a specific [CoroutineScope] +**structured concurrency** which means that new coroutines can only be launched in a specific [CoroutineScope] which delimits the lifetime of the coroutine. The above example shows that [runBlocking] establishes the corresponding scope and that is why the previous example waits until `World!` is printed after a second's delay and only then exits.