gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 15:17:01 24 4
gpt4 key购买 nike

我有以下 ZIO 程序,其中包含两个永久运行的进程:

    for {
..
numberProvider <- numberProvider(queue).fork // runs forever
numberService <- numberService(queue) // runs forever
..
} yield ()

上面的代码有效,但我想知道这是否是好的做法。

有2个问题:
  • 可以吗,在主程序上运行 2. 进程。或者它也应该是纤维?
  • 我必须要join最终的 Fibers,即使它们永远运行,因此永远不会到达 join ?
    for {
    ..
    numberProvider <- numberProvider(queue).fork // runs forever
    numberService <- numberService(queue) // runs forever
    ..
    _ <- numberProvider.join // join in any case
    } yield ()
  • 最佳答案

    你不必.join光纤,如果他们永远运行。

    请注意,由于 1.0.0-RC17 , #zio 添加了 .daemon正是出于这个原因,请参阅此处的发行说明:https://github.com/zio/zio/releases/tag/v1.0.0-RC17从现在开始,.fork对于永远运行的光纤,应该避免使用。

    关于scala - ZIO:如何加入 Fibers 以实现永久运行的流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59145196/

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