Kotlin协程CoroutineScope命名空间CoroutineName,Kotlin
import kotlinx.coroutines.*
fun main(args: Array<String>) {
val myName = CoroutineName("fly")
runBlocking {
CoroutineScope(Dispatchers.IO).launch {
repeat(3) {
val name = coroutineContext[CoroutineName]?.name
println("$name - $it") //默认无命名的协程。
}
}
CoroutineScope(Dispatchers.IO + myName).launch {
repeat(3) {
val str = coroutineContext[CoroutineName]?.name
println("$str - $it")
}
}
}
}
null - 0
null - 1
null - 2
fly - 0
fly - 1
fly - 2
kotlin协程coroutineScope-CSDN博客文章浏览阅读323次。coroutineScope 创建独立协程作用域,直到所有启动的协程都完成后才结束自己。runBlocking 和 coroutineScope 很像,它们都需要等待内部所有相同作用域的协程结束后才会结束自己。两者主要区别是: runBlocking 阻塞当前线程,而 coroutineScope不会,coroutineScope会挂起并释放底层线程供其它协程使用。kotlin协程coroutineScope。https://blog.csdn.net/zhangphil/article/details/129265638