如果是单线程,Dart 如何运行像 Future 和 Stream 这样的异步代码?

问题描述 投票:0回答:1

我在理解 Dart 异步编程时遇到了一些困难。 根据文档,Dart 是单线程的,因此它只有一个线程,他们称之为 Isolate。

现在,我们可以创建一个新的隔离,我理解基本上是一个没有共享内存和/或代码的“线程”

我不明白的是 Futures 和 Streams 在底层是如何工作的:它们是否生成一个新的 Isolate,然后将结果发送到主 Isolate? 如果不是,如何在不阻塞或降低整个 Isolate 性能的情况下执行这些异步代码?他们在事件循环中“一次一点”执行吗?

dart stream future
1个回答
0
投票

单线程运行时事件编程的一种解决方案是 Event Loops,Dart VM 使用的就是它。

更多信息:

© www.soinside.com 2019 - 2024. All rights reserved.