我的理解是,像cats effetcs或Zio这样的IO实现使用了纤程,这是在JVM上实现的。
我想知道他们使用的底层库或框架是什么,如果JVM例如11还没有正式支持fibers?
发布于 2021-05-01 15:37:23
JVM没有对纤程的官方支持。然而,这是在与Project Loom合作中。
与此同时,像ZIO和Cats effect这样的效果库正在维护一个线程池,并滚动它们自己的线程调度实现,正如Luis的问题评论中所述。
如果fiber实现是特定于库的,这让您认为它们是开源库中的一个bug风险,请记住以下几点:fiber在ZIO和Cats效果中都是一个低级概念。这些库的要点是在很大程度上将运行的内容与其具体如何运行的细节解耦。它们仍然为您提供了表达如何运行东西的灵活性,但这部分API在90%的情况下都没有使用。ZIO和Cats给你带来的是一种用很好的类型安全原语来表达并发任务的方法。这正是可以帮助你避免bug的地方。
https://stackoverflow.com/questions/67196757
复制相似问题