javascript - Dart 是真正的并行还是并发

标签 javascript dart

我刚刚从 Google 了解到有关 Dart 的信息,想知道是否可以使用 Dart 获得真正的并行性。据我所知,我的回答是否定的,因为最终它像 Javascript 一样运行(我无法评论它如何在 Dart VM 上运行)但是为什么引入 async 和 await 关键字的设计决定? 这会变成类似 Erlang 的东西吗?

最佳答案

一个 Dart 应用程序可以由一个或多个 isolate 组成。隔离作为线程运行(其他实现也是可能的)并并行运行(也在不同的 CPU 上)。 Isolate 之间的通信通过消息传递进行。

单个隔离中的代码是单线程的,根本没有并行性。执行是事件驱动的。另见 https://webdev.dartlang.org/articles/performance/event-loop

async/await 只是让异步代码看起来更像同步代码的语法糖,但它不会让代码运行同步。

关于javascript - Dart 是真正的并行还是并发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44410210/

相关文章:

javascript - 将 base64 图像拆分为多个部分

javascript - 放置一个假的加载屏幕来给人一种计算需要时间的印象?

javascript - 缓存 JavaScript API 调用

dart - 尝试在 https ://pub. dartlang.org 上查找软件包 cupertino_icons 时出现 TLS 错误

dart - 是否有允许根据平台切换实现的小部件?

javascript - 返回 HTML 元素

javascript - 使用 jQuery 对每个数字使用相同的时间使数字增长

android - Flutter 应用程序,每天在 x 时间检查,看看我是否需要向用户发送本地通知

listview - Flutter:使用ListView.builder消失SliverAppBar

image - Flutter:将图像文件从 url 复制到 firebase