我的理解是,像 cats-effetcs 或 Zio 这样的 IO 实现使用纤程,而这在 JVM 上。
我想知道他们使用的底层库或框架是什么,如果 JVM 例如11 还没有正式支持光纤吗?
最佳答案
JVM 没有对纤程的官方支持。然而,这正在与 Project Loom 一起进行。 .
与此同时,像 ZIO 和 Cats Effect 这样的效果库正在维护一个线程池并滚动他们自己的线程调度实现,如 Luis 的问题评论中所述。 .
如果 fiber 实现是库特定的这一事实让您认为它们在开源库中存在错误风险,请记住以下几点:fibers 在 ZIO 和 Cats 中都是低级概念影响。这些库的要点是在很大程度上将运行的内容与其运行方式的细节分离开来。它们仍然为您提供了表达如何运行事物的灵 active ,但是这部分 API 在 90% 的情况下不会被使用。 ZIO 和 Cats Effect 为您带来的是一种用良好的类型安全原语来表达并发任务的方法。这正是可以帮助您避免错误的方法。
关于java - 带有 Scala IO 实现的 JVM 上的光纤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67196757/