DART 隔离和线程之间的区别(Java、C#)

2024-02-24

对我来说,DART Isolate 看起来像一个具有不同术语的线程 (Java/C#)。 Isolate 与 Thread 在哪些方面不同?


线程使用共享内存,而隔离则不使用。

例如,以下伪代码在 Java/C# 中

class MyClass {
  static int count = 0;
}

// Thread 1: 
MyClass.count++;
print(MyClass.count); // 1;

// Thread 2:
MyClass.count++;
print(MyClass.count); // 2;

这还存在共享内存被两个线程同时修改的风险。

而在 Dart 中,

class MyClass {
  static int count = 0;
}

// Isolate 1: 
MyClass.count++;
print(MyClass.count); // 1;

// Isolate 2:
MyClass.count++;
print(MyClass.count); // 1;

隔离物彼此隔离。他们之间沟通的唯一方式是传递消息。一个隔离可以侦听来自另一隔离的回调。

查看文档在这里 http://www.dartlang.org/docs/dart-up-and-running/contents/ch03.html#ch03-dartisolate---concurrency-with-isolates包括“隔离概念”部分。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DART 隔离和线程之间的区别(Java、C#) 的相关文章

随机推荐

  • 我应该调用什么 API 来获取系统正常运行时间?

    我想从基于 Linux 的系统上运行的 C 应用程序中获取系统正常运行时间 我不想调用 uptime 1 并解析输出 我想调用我怀疑存在的底层 C API 有人知道是否有这样的调用 或者 uptime 1 是否只是处理从 wtmp 获取的记
  • 为什么删除时会引发 Core Data NSManagedObject 错误?

    我正在尝试有效地批量删除很多NSManagedObjects 不使用NSBatchDeleteRequest 我一直在遵循一般程序这个答案 https stackoverflow com a 12116402 5513562 适用于 Swi
  • 垂直 div 间距

    如何用最少的代码水平分布3个div 我有 3 个具有相同类的 div 我需要水平分布它们 每个 div 之间有 19 像素的空间 目前我的解决方案是为前 2 个 div 提供 19 像素的右边距 并为第三个 div 分配一个单独的类 使其左
  • 将结构与 std140 对齐,CPU 端

    我想这是纯 C 问题和 OpenGL 问题之间的一种交叉 我有一个统一的缓冲区 并在其中分配 sizeof ShaderData 字节的空间 我在着色器的 GPU 端使用 std140 布局 根据 std140 规则 我需要在结构中的各个位
  • 设置从 Eclipse 运行的 Java 程序的内存

    我正在从 Eclipse 运行一个需要大量内存的 Java 应用程序 我可以把放在哪里 Xmms罢工 gt xms flag 您可以为特定运行配置设置 VM 参数 运行 运行配置 参数选项卡 VM 参数 顺便说一句 你可能想尝试 Xms代替
  • Microsoft MPI 不运行

    我正在尝试 Microsoft 的 MPI 实现 我从这里安装了CCP sdk http www microsoft com en us download details aspx id 239 http www microsoft com
  • 使用 Xamarin Forms 共享图像

    我创建了一个 Xamarin Forms PCL 解决方案 目前专注于 Android 项目 我正在尝试使用依赖服务来实现图像共享 图像位于 Android 项目的可绘制文件夹中 但是 每次我运行下面的代码时 应用程序都会崩溃并显示 发生未
  • 嵌套列表理解/合并嵌套列表

    我在理解嵌套列表理解结构时遇到问题 我有一个清单 gt gt gt test 1 2 3 4 5 6 7 8 If I do t2 for x in test for y in x t2 append y 然后它返回 gt gt gt t2
  • 我们可以使用 Yolo 来检测和识别图像中的文本吗

    目前我正在使用一种名为 Yolov2 的深度学习模型进行对象检测 我想用它来提取文本并将其保存在磁盘中 但我不知道该怎么做 如果有人了解更多那个 请告诉我 我使用张量流 Thanks 如果您使用预训练模型 则需要保存这些输出并将图像输入到字
  • 如何删除R中单词之间的空格?

    我一直在尝试消除或替换单词之间的空格 而不影响其他空格 一个例子是 string lt Hi buddy 3 256 225 25 365 425 并希望它是 string lt Hibuddy 3 256 225 25 365 425 我
  • 在 C# 中创建泛型方法

    我正在尝试将一堆类似的方法组合成一个通用方法 我有几种方法可以返回查询字符串的值 如果该查询字符串不存在或格式不正确 则返回 null 如果所有类型本身都可为空 那么这将很容易 但我必须对整数和日期使用可为空的泛型类型 这就是我现在所拥有的
  • 行为测试框架的测试覆盖率工具

    我们正在使用 Behave BDD 工具来自动化 API 是否有任何工具可以使用我们的行为案例提供代码覆盖率 我们尝试使用覆盖模块 但它不适用于 Behave 您可以运行任何具有覆盖范围的模块来查看代码使用情况 在你的情况下应该接近cove
  • 使用匿名对象输出带有破折号的 JSON 属性名称

    我正在使用第三方 API 如下所示 它用Json serializer输出 public Output string name object value 我必须将以下 json 字符串放入 C 的输出文件中 Output somename
  • 为什么我的 Visual Studio Community 2019 在“调试”>“Windows”下没有“模块”选项以及如何修复它?

    正如标题所示 我在 调试 gt Windows 下看不到任何 模块 子菜单 并且快捷键 Ctrl Alt U 没有任何作用 刚刚通过安装程序恢复了 Visual Studio 什么也没有 我有 VS 2019 Community 版本 16
  • 将图像从 Assets 加载到 NSImage 不断出现错误,需要 NSImage.Name

    我正在尝试从以下位置加载文件xcassets to an NSImage 其中资产名称是 logo 我试过这个 let logoIcon NSImage named logo 但我不断收到此错误 无法将 String 类型的值转换为预期的参
  • xcode4 存档/ipa 问题[重复]

    这个问题在这里已经有答案了 可能的重复 Xcode 4 存档版本未指定 https stackoverflow com questions 5332115 xcode 4 archive version unspecified Hi 我正在
  • 在 QLabel 中隐藏或裁剪重叠文本?

    我目前正在构建一个 UI 其中有 3 个以水平布局排列的标签 textLabel valueLabel unitLabel The valueLabel and unitLabel右对齐 unitLabel有固定的宽度 valueLabel
  • 返回包含环回的连接表属性

    我有一个与 Loopback 上描述的数据结构非常相似的数据结构有很多通过 https docs strongloop com display public LB HasManyThrough relations文档页面 对于给定的医生 例
  • 在 RSpec 请求规范中使用 Capybara 时,设置自定义请求标头的最佳方法是什么?

    我正在用 set headers 方法对 Capybara Session 进行猴子修补 该方法分配给 Capybara RackTest Browser 的选项属性 我已将其从 attr reader 更改为 attr accessor
  • DART 隔离和线程之间的区别(Java、C#)

    对我来说 DART Isolate 看起来像一个具有不同术语的线程 Java C Isolate 与 Thread 在哪些方面不同 线程使用共享内存 而隔离则不使用 例如 以下伪代码在 Java C 中 class MyClass stat