问题标签 [dart-isolates]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6137 浏览

global-variables - 使用全局变量在 Dart 中的函数之间共享对象是否安全?

我看到“Dart 是一种单线程编程语言”,所以我认为使用全局变量在函数之间传递数据是否安全:

我还看到“Dart 提供隔离”并且可以在多核上运行。这意味着如果不同的隔离访问同一个全局变量可能会很危险,对吧?

安全吗?如果没有,有没有办法在函数之间共享对象而不将它们作为参数传递?


更新:

根据“Florian Loitsch”的回答,我刚刚为带有隔离的全局变量编写了一个测试:

您可以看到一个隔离将全局变量设置g为一个新值,另一个隔离将打印 的值g

它打印的控制台:

很明显,它们不共享内存,并且全局变量是安全的。

0 投票
2 回答
312 浏览

dart - Dart Web 服务器:防止崩溃

我想使用 dart 开发一个 Web 服务 + Web 套接字服务器,但问题是由于隔离中未捕获的异常,我无法确保服务器的高可用性。

当然,我已经尝试捕获了我的主要功能,但这还不够。

如果未来的 then() 部分发生异常,服务器将崩溃。

这意味着一个有缺陷的请求可以使服务器停机。

我意识到这是一个悬而未决的问题,但是有没有办法在不使 VM 崩溃的情况下确认任何崩溃,以便服务器可以继续服务其他请求?

谢谢你。

0 投票
1 回答
87 浏览

dart - Dart:unhandledExceptionCallback 被忽略

这是我使用命令行 dart 运行的一个非常简单的代码,以证明我的观点:

和输出:

因此,事实证明 unhandledExceptionCallback 永远不会被调用,而隔离确实会引发异常。

作为记录 :

那么,有人可以解释一下我做错了什么吗?

谢谢 ;)

0 投票
4 回答
2218 浏览

dart - 库“dart:isolate”中是否有 dart 的`spawnUri(...)` 的示例?

中有一个spawnUri(uri)函数dart:isolate,但我没有找到任何示例。我已经猜到了它的用法,但失败了。

假设有 2 个文件,在第一个文件中,它会调用spawnUri第二个文件,并与之通信。

第一个.dart

第二个.dart

但是这个例子不起作用。我不知道什么是正确的代码,如何修复它?

0 投票
1 回答
256 浏览

dart - Dart 隔离调用或发送

我有几个关于隔离如何工作的问题:

1) 我应该使用overcallsend何时使用over 有什么区别?callsend

2)只是好奇,有没有办法像我们链一样链隔离Future

3)

它显示:我收到:来自 main 的 Hello

但是当我使用时send,它什么也没打印,为什么?

0 投票
1 回答
442 浏览

requirejs - Dart2js:是否可以从 Javascript 启动 Root Isolate?

我有一个用 dart2js 编译的应用程序(Dart SDK 版本0.6.13 .0_r25630),我想在每次需要时用 RequireJS 加载它。

首先,感谢上帝在编译的 javascript 中提供了包装函数,但在我的情况下还不够:(

我使用requirejs加载dart2js应用程序

但我想处理何时启动应用程序。例如点击事件。

我破解了编译后的 Javascript,但我想知道它是否可以以本机方式进行。

在 application.dart.js 中,我将函数包装在 AMD 模块中

然后我返回 $ 对象

最后我评论了我发现的这行代码

感谢大家

马可

0 投票
2 回答
125 浏览

dart - SpawnDomUri:限制到特定的 Dom-Node

我想启动一些 Isolate,它操纵我网页中的特定区域。为此,我通过函数 SpawnDomUri 创建了这样一个 Isolate,它能够访问 DomTree。显然,一些恶意/错误的隔离可能会改变整个网页,这可能是不可取的。

所以我的问题是:

是否可以限制 Dom-Isolate(通过 SpawnDomUri 启动)对特定 Dom-Node(包括 ShadowRoots)的访问?

最好的问候, 亚历克斯

0 投票
1 回答
977 浏览

dart - Dart,如何将用户字符串解析为功能性 dart 代码?

是否可以解析用户输入的字符串,例如从文本区域解析,然后将其合并到您可以运行的 dart 函数中,而无需将其发布回服务器?我想我正在寻找一个相当于 dart eval 的东西。

0 投票
1 回答
873 浏览

dart - 如何使用 Isolate.spawnUri 方法来控制隔离?

我正在查看 Isolates 的文档并注意到您可以使用静态方法spawnUri从文件创建隔离。

如此处所示:http: //api.dartlang.org/docs/releases/latest/dart_isolate/Isolate.html#spawnUri

在该文档中,它声明它返回一个返回 Isolate 实例的未来,但是没有其他方法。

有谁知道你是如何使用这个实例在隔离之间来回发送消息的?

当前代码:

谢谢你。

0 投票
1 回答
1081 浏览

dart - 最近有关飞镖隔离的文档

我最近开始使用 Dart ( www.dartlang.org ) 并且到目前为止非常喜欢它。一个非常有前途的功能是隔离,但我不确定如何开始。

到目前为止,我发现的文档来自 2013 年 10 月的重大变更 ( BREAKING CHANGE: dart:isolate )。这封“重大变更”电子邮件中的信息非常复杂,看起来新的 api 比旧的更复杂。

我有一些问题:

  • dart:isolate api 稳定吗?
  • 有最新的文档吗?
  • 有没有工作的例子?

感谢您的帮助,亨德里克·扬