参考资料
https://kotlinlang.org/docs/reference/coroutines/cancellation-and-timeouts.html
https://github.com/Kotlin/kotlinx.coroutines/issues/2276
https://github.com/Kotlin/kotlinx.coroutines/issues/2334
https://github.com/Kotlin/kotlinx.coroutines/issues/1697
https://github.com/Kotlin/kotlinx.coroutines/issues/80
https://github.com/Kotlin/kotlinx.coroutines/issues/2441
https://github.com/Kotlin/kotlinx.coroutines/issues/2371