标签: isolate
287
隔离区

本篇为 Dart 官方文档翻译项目 DartCN 的文章 Tour 翻译,在此仅作翻译记录,翻译首稿已提交至 DartCN,如需查阅,请链接至《Dart 开发语言概览》。 本文为 Dart 语言概览的一部分,完整章节请查阅 Dart 语言概览。 大多数计算机中,甚至在移动平台上,都在使用多核 CPU。为了有效利用多核性能,开发者一般使用共享内存的方式让线程并发地运行。然而,多线程共享数据通常会导致很多潜在的问题,并导致代码运行出错。 为了解决多线程带来的并发问题,Dart 使用 isolates 替代线程,所有的 Dart 代码均运行在一个 isolates 中。每一个 isolates 有它…

161
在 Dart 里使用 Stream

本篇为 Dart 官方文档翻译项目 DartCN 的文章 Creating streams 翻译,在此仅作翻译记录,翻译首稿已提交至 DartCN,如需查阅,请链接至《在 Dart 里使用 Stream》。 dart:async 库中有两个对许多 Dart API 来说都非常重要的类型:Stream 和 Future。Future 用于表示单个运算的结果,而 Stream 则表示多个结果的序列。你可以监听 Stream 以获取其结果(包括数据和错误)或其关闭事件。也可以在 Stream 完成前对其暂停或停止监听。 但是本篇文章并非阐述如何使用 Stream,而是向你介绍如何创建 Stream。…

132
异步编程:使用 Stream

本篇为 Dart 官方文档翻译项目 DartCN 的文章 Asynchronous programming: streams 翻译,在此仅作翻译记录,翻译首稿已提交至 DartCN,如需查阅,请链接至《异步编程:使用 Stream》。 本章的重点: Stream 提供一个异步的数据序列。 数据序列包括用户生成的事件和从文件读取的数据。 你可以使用 Stream API 中的 “listen()” 方法和 **await for** 关键字来处理一个 Stream。 当出现错误时,Stream 提供一种处理错误的方式。 Stream 有两种类型:Single-Subscription 和 Bro…

178
异步编程:使用 Future 和 async-await

本篇为 Dart 官方文档翻译项目 DartCN 的文章 Asynchronous programming: futures & async-await 翻译,在此仅作翻译记录,翻译首稿已提交至 DartCN,如需查阅,请链接至《异步编程:使用 Future 和 async-await》。 本章的重点: Dart 代码运行在单个执行“线程”中。 阻塞执行线程的代码会使你的程序“冻结”。 一个 Future 对象用于表示 _异步操作_ 的结果,这些正在处理的操作或 I/O 将会在稍后完成。 在异步函数中使用 await 关键字暂停代码的执行,直到对应的 future 完成。 可以使用 t…