猫效应可取消语义

问题描述

我对 Monix 有一点了解,并且使用 Cancelable 像这样创建了 Resources 并带有某种簿记 runnable,随资源一起获取和释放.

  def acquireMyResource(duration: FiniteDuration): Resource[Task,(MyResource,Cancelable)] =
    Resource.make {
      Task.eval {
        val closeableResource: MyResource = new MyResource(duration)
        val bookKeeper: Cancelable =
          cpuScheduler.scheduleWithFixedDelay(
            duration._1 / 2,duration._1 / 3,duration._2,closeableResource.bookeeperFunction /*This is a runnable*/
          )
        Tuple2(closeableResource,bookKeeper)
      }
    } { res =>
      for {
        _ <- logger.info("Shutting down bookKeeper thread")
        _ <- Task.eval(res._2.cancel())
        _ <- logger.info("closing MyResource")
        _ <- Task.eval(res._1.close())
      } yield ()
    }

在cats-effect IO 中是否有与此相同的等价物?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

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