在阅读了CoroutineScope的介绍和javadoc后,我仍然有点混淆了背后的想法CoroutineScope是什么.
文档的第一句"定义新协程的范围".我不清楚:为什么我的协同程序需要一个范围?
另外,为什么单独的协同构建器被弃用?为什么这样做更好:
fun CoroutineScope.produceSquares(): ReceiveChannel<Int> = produce {
for (x in 1..5) send(x * x)
}
Run Code Online (Sandbox Code Playgroud)
代替
fun produceSquares(): ReceiveChannel<Int> = produce { //no longer an extension function
for (x in 1..5) send(x * x)
}
Run Code Online (Sandbox Code Playgroud)