dev.to | 📄 原文链接 | 2026-09-24 收录

在 Dart Isolate 之间共享状态而不发疯:shared_map 登场

来源:dev.to — 2026-09-20

📋 概述

Dart 的并发模型建立在 Isolate 上:与 Java、C++ 或 Go 的线程不同,Isolate 之间不共享内存,每个都有自己的私有堆和单线程事件循环。这个「不共享」模型是很漂亮的设计,彻底消除了数据竞争、死锁、互斥锁争用和线程同步 bug——直到你真的需要在 Isolate 之间共享数据。常见场景是 Flutter 应用用 Isolate.run 在后台做大图缩放、JSON 解码、哈希计算或 ML 运算,而这些并发工作线程都需要访问同一份内存缓存(比如已解析的元数据、认证令牌)。传统上只有两个糟糕的选择,还有第三种几乎没人谈的选项。

🔑 核心要点

💡 金句

这个不共享的模型是很漂亮的设计——直到你真的需要在 Isolate 之间共享数据。
← 返回 dev.to 首页