从协程 (kotlin) 切换到隔离 (dart)

Taz*_*Taz 2 android dart kotlin flutter kotlin-coroutines

我有一个使用 Flutter 制作的 Android 应用程序。目前,大部分业务逻辑都运行在 Android 原生 Kotlin 上,但我喜欢 Dart,所以我正在考虑将很多逻辑转移到 Flutter。将 Kotlin 的协程转换为 Dart 的隔离是否有任何顾虑?

Ser*_*rdo 7

据我所知,没有普遍的担忧。尽管在进行更改之前您需要考虑一些要点。

  • 并发范式从多线程变为单线程。这意味着您不应该考虑将协程更改为隔离,因为您不会经常使用隔离或将其用于与协程相同的目的。
  • 隔离用于“极端/独特”的情况,如果您想执行长时间运行的操作,通常不应该选择隔离,您应该使用简单的 async/await 来执行该操作。
  • 使用 async/await 更简单,因为您不必担心资源分配或竞争条件,但同时它允许您做“更脏”的事情,责任在您身上。
  • 关于隔离物的最后一个想法:它们是一个单独的进程,因此隔离物之间的通信只能通过消息完成,因此应该在它们之间传递基本数据,如果您想返回一些大数据,这可能会给您带来一些麻烦。(当然,序列化一切皆有可能)

希望这对您的选择有所帮助,如果没有,请随时发表评论,我们可以进一步讨论。