10

这个简化的案例是我的问题发生在...

object Main extends IOApp{
 def run(args:Seq[String]): IO[ExitCode]={
    Task{...}
     .to[IO]
     .as(ExitCode.Success)
 }
}

另一种选择是,但这听起来与的做法Await.result(task)不太一致。IOApp

我知道的

根据这篇很棒的帖子Monix vs Cats Effect
我发现两者之间的区别Task IO是:

  • TaskAPI比丰富IO
  • Task在线程调度公平方面更智能、更自动化
  • Task获得更多可取消选项
  • 和更多 ...

问题和我的看法

我转换Monix Task成后失去了什么Casts IO

它似乎工作正常,Task.gather并且timeout- 所有那些特定于任务的东西。
那么我在转换中失去了什么?
如果否,则没有理由创建多个数据类型。

因此,考虑到差异是否意味着我在与交谈后失去了调度公平性TaskIO


好吧,我应该自己验证它,但我不知道如何测试它的公平性。

4

0 回答 0