java - 带有 Scala IO 实现的 JVM 上的光纤

标签 java scala zio cats-effect

我的理解是,像 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/

相关文章:

scala - 对 future/并行代码有用的堆栈跟踪

java - 仅使用属性值的第一部分通过 xpath 查找元素

java - Lambda 不解析类型

scala - 如何防止 sbt 发布 pom.xml

java - 是否有 Clojure 或 Scala 的持久不可变 vector 的 Java 版本?

scala - ZIO:如何加入 Fibers 以实现永久运行的流程

scala - Zio,将 Seq[ZIO] 转换为 ZIO[Seq]

java - 如何使用WebSocket在UWP客户端和Java服务器之间进行通信?

java - 尝试对 Arraylists 的 ArrayList 进行排序

java - Java 可以运行已编译的 Scala 代码吗?