fiber - 类星体平行宇宙的例子

标签 fiber quasar

我是 Quasar 的新手,想知道是否有类似下面的示例。 或者即使有人可以指出我如何做到这一点的正确方向。

所以我需要做的是读取一个json文件。 为每个索引创建一个新 Fiber 并传递 json 中的一些值。 每个 Fiber 都会根据 json 中的值创建一个执行函数。 但根据值的不同,有些纤维可能需要更长的时间才能完成。 最多等待 5 秒才能完成。

我假设所有这些光纤将并行运行。

这可能吗?任何例子都会很棒。

最佳答案

我是 Quasar 团队的一员。

Fibers 将同时运行,实际的并行度取决于您运行程序的 CPU 核心数量以及 Fibers 执行器的并行度级别,默认情况下,Fibers 执行器是一个具有多个工作线程的 ForkJoinPool线程数等于CPU核心数。

纤维的使用就像线程一样(但更轻量级):您生成它们,让它们完成它们的工作并加入它们。看起来在你的情况下你不需要更多的东西(尽管 Quasar 为光纤和线程提供了类似 Go 的 channel 、类似 Erlang 的 actor 和数据流),所以我建议你看看 fiber docs ,还有很多例子,但我特别建议你从 Gradle template 开始。

您可以将索引/值作为闭包变量传递给从匿名类创建的实例,或者您可以创建 Fiber 的命名子类并将它们作为构造函数参数接收。

记住 run the agent 。如果您需要构建包含代理的单个工件可执行 JAR,我建议您查看 Capsule

还可以考虑加入 Quasar-Pulsar user group

关于fiber - 类星体平行宇宙的例子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36795467/

相关文章:

java - 在 Android 应用程序中使用 Quasar Fibers

ruby - 枚举器如何在 Ruby 1.9.1 中工作?

testing - 使用 Composition api Vue3 quasar 开 Jest 获取变量

multithreading - Vibe.D 是多线程来处理并发请求的吗?

c++ - 分段堆栈如何工作

vuejs3 - 在 Quasar 中为 qtable 中的每一行弹出上下文菜单的便捷方法

javascript - 使用 Vue-cli,我在哪里声明我的全局变量?

java - JVM:是否可以操作帧堆栈?

java - 在 Fibers Quasar 之间传递消息

c# - C# 中的协程