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 - 根据提到的要点在javascript中发送电子邮件正则表达式

web - 使用Angular Dart从浏览器获取地理位置时出错

android - Flutter 如何将自己的 DartVM 用于原生应用

dart - Flutter - 更改应用栏的颜色不起作用

javascript - 使用 js 和正则表达式检查文本框是否存在无效字符

javascript - 如何允许脚本在单击链接以显示对话框后立即触发

dart - itemcount 中的 snapshot.data.length 不起作用 : "The getter ' length' was called on null"

charts - 如何在 Flutter 的圆环饼图的孔内添加文本

javascript - Canvas.toDataURL() 问题。还有其他选择吗?

javascript - Flexslider 无法识别动态加载的内容?