带有 Scala IO 实现的 JVM 上的 Fiber

问题描述

我的理解是,像cats-effetcs或Zio这样的IO实现使用了纤程,而这在JVM上。

我想知道他们使用的底层库或框架是什么,如果 JVM 例如11 还没有正式支持光纤吗?

解决方法

JVM 没有官方支持纤程。然而,这正在与 Project Loom 一起工作。

与此同时,像 ZIO 和 Cats Effect 这样的效果库正在维护一个线程池并滚动他们自己的线程调度实现。正如Luis在问题评论中的状态。

如果光纤实现是特定于库的这一事实让您认为它们在开源库中存在错误风险,请记住以下几点:光纤在 ZIO 和 Cats 中都是低级概念影响。这些库的目的是在很大程度上将运行的内容与其运行方式的细节分离。它们仍然为您提供了表达如何运行事物的灵活性,但是在 90% 的情况下不会使用这部分 API。 ZIO 和 Cats Effect 给你带来的是一种用漂亮的类型安全原语来表达并发任务的方法。这正是帮助您避免错误的方法。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...