gpt4 book ai didi

kotlin-coroutines - 何时在 Kotlin 中使用 Unconfined

转载 作者:行者123 更新时间:2023-12-04 12:22:29 26 4
gpt4 key购买 nike

我什么时候会选择使用 Dispatchers.Unconfined?协程应该在哪里运行并不重要吗?所以你让协程选择更适合的线程池?
它与 Dispatchers.Default 有何不同?是不是在运行默认调度程序时总是在定义为默认线程池的特定线程池中?

最佳答案

So you let the coroutine to choose the thread pool as it better suits?


事实并非如此 Unconfined作品。理解它的最好方法是它是一个“无操作”调度程序,实际上根本不执行任何调度。无论您拨打何处 continuation.resume() ,这就是协程恢复执行的地方——在那个调用中。当 resume()调用返回,这意味着协程再次挂起或完成。
在正常编程中,您通常拨打 continuation.resume()来自回调,并且运行回调的不是您的代码,因此您实际上无法控制协程将恢复的线程。不建议使用 Unconfined当从不受您控制的库提供的回调中恢复时调度程序。 Unconfined真的是一种特殊情况的工具,你可以在自己搭建协程执行环境时使用,或者在其他自定义场景中使用。基本上,只有在您积极寻找禁用正常调度机制的方法时才应该使用它。

关于kotlin-coroutines - 何时在 Kotlin 中使用 Unconfined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67290852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com