gpt4 book ai didi

kotlin - ForkJoinPool 和 Kotlin 协程

转载 作者:行者123 更新时间:2023-12-02 12:47:18 25 4
gpt4 key购买 nike

据我了解,默认情况下,如果您通过 launchasync 启动 Kotlin 协程,它将在 CommonPool 中启动(或如果您使用 GlobalScope)。 CommonPool 是一个 ForkJoinPool,默认情况下,它处于非异步模式,因此它按 LIFO 顺序执行任务。对于我们希望公平调度的异步 Web 服务器应用程序来说,这似乎是一个非常糟糕的选择:我们不希望先访问我们的 Web 服务器的可怜的笨蛋等待所有后来的调用。

但是,Kotlin 协程在这里增加了一个额外的问题,因为 Kotlin 标准库中有一些代码会安排执行这些协程(据我所知,标准异步选择/epoll 循环的一些变体)。那么也许后进先出问题不是问题?

我当然可以运行一些实验和/或进入调试器中的代码以查看其工作原理,但我怀疑其他人也有同样的问题,我敢打赌有人“只知道”答案...

最佳答案

根据 discussion在 Kotlin 讨论中,CommonPool 不再是默认的,它们现在默认为“最公平”的调度程序。链接讨论中的详细信息。

关于kotlin - ForkJoinPool 和 Kotlin 协程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55131122/

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