【发布时间】:2023-03-28 00:22:01
【问题描述】:
据我了解,Dart 隔离就像 Akka 演员。
但是,我想不通dart:isolate 是否与Akka 有类似的用途。两者有根本区别吗?
dart:isolate 是不是和Akka 一样是actor 模型编程的框架?
是不是dart:isolate 更像 scala actor 而不是 akka。
【问题讨论】:
标签: dart akka actor dart-isolates
据我了解,Dart 隔离就像 Akka 演员。
但是,我想不通dart:isolate 是否与Akka 有类似的用途。两者有根本区别吗?
dart:isolate 是不是和Akka 一样是actor 模型编程的框架?
是不是dart:isolate 更像 scala actor 而不是 akka。
【问题讨论】:
标签: dart akka actor dart-isolates
Isolates 在很多方面与 Akka actor 不同:
隔离不共享内存,即像 Unix 进程一样被隔离
因此,当使用 spawn 生成隔离区时,当前隔离区中的所有数据都会重复
isolate 没有像 receive 这样的中心方法 - 或者,更好的说法是,该方法隐藏在引擎盖下。该方法从执行队列中获取任务并一一执行。这类似于 GUI 线程的工作原理。任务是使用内部回调方法创建的。回调在 Dart 中无处不在。
【讨论】:
Distinguishing Features (of Akka) ... Concurrency is message-based and asynchronous; typically no mutable data are shared and ...
http://en.wikipedia.org/wiki/Akka_(toolkit) 的描述似乎与 Dart 隔离的描述相似。
Akka 似乎更高级。例如,如果您与同一主机或另一台主机上的隔离体进行通信,则还没有透明性。
【讨论】: