问题描述
我对 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 (将#修改为@)