如何理解Kotlin中的yield方法,有没有大佬详细说明下


#1

如何理解Kotlin中的yield方法,有没有大佬详细说明下?有点理解不透彻


#2

是哪儿的 yield,协程里面的 yield() 还是 sequence 里面的 yield(T) ?不过这俩本质上都是让当前协程挂起,出让运行权。因为协程会占用线程,挂起后就可以让其他共享线程池的协程来执行。当然,如果线程资源够用的话 ,yield() 本身就是一个可以响应取消的挂起点了。

sequence 里面的 yield 就是让当前协程挂起,参数作为 sequence 的下一个元素返回给序列的 hasNext 或者 next。等再读取下一个元素的时候会从 yield(T) 后面的位置继续执行。


京ICP备16022265号-2 Kotlin China 2017 - 2018
本站由腾讯云提供计算服务