问题标签 [fork-join]
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.
java - 并发目录遍历算法挂起问题
我创建了一个并发的递归目录遍历和文件处理程序,它有时会在所有并行计算完成后挂起,但“主”线程永远不会继续执行其他任务。
代码基本上是一个 fork-join 风格的并发聚合器,并行聚合完成后,它应该在 Swing 窗口中显示结果。聚合的问题在于它需要生成一棵树并将叶子节点的统计信息向上聚合到层次结构中。
我确定我犯了并发错误,但找不到。我在帖子末尾包含了我的代码的相关部分(为简洁起见,删除了代码注释,对 150 行感到抱歉,如果需要,我可以将其移至外部位置)。
上下文:Java 6u13、Windows XP SP3、Core 2 Duo CPU。
我的问题是:
这种随机挂起的原因可能是什么?
是否有更好的方法来进行并发目录遍历,也许是以已经存在的库的形式?
Doug Lea(或 Java 7)的 fork-join 框架会是一个更好的聚合/目录遍历框架,如果是这样,我应该如何重新考虑我的实现 - 在概念级别?
感谢您的时间。
和代码摘录:
编辑在 JavaSourceEvaluator 中添加了 hasChildren() 方法。
java - 关于即将到来的 fork-join 框架的资源
我正在寻找有关如何使用即将推出的 jsr166y(fork-join、fences)和 extras166y(ParallelArray 等)的组织良好的信息源——从教程到专家级别。
scala - 使用 scala actor 框架作为分叉连接计算?
理论上,是否有可能使用 Scala Actor 框架来进行类似于 JDK 7 的 Fork-Join 框架的异步分治计算?如果是这样,我如何用框架表达 FJ 问题 - 例如,教程合并排序概念?欢迎使用代码片段。
(我的想法是基于我在其他FJ 相关问题中获得的资源视频。)
scala - 在scala中的另一个线程上执行一个简单的任务
我想知道是否有一种方法可以在没有太多开销的 scala 中的另一个线程上执行非常简单的任务?
基本上我想制作一个可以处理执行任意数量的任务的全局“执行器”。然后我可以使用 executor 来构建额外的结构。
此外,如果客户端不必考虑阻塞或非阻塞因素,那就太好了。
我知道 scala 演员库是建立在 Doug Lea FJ 的东西之上的,而且他们在有限的程度上支持我想要完成的事情。但是,据我了解,我将不得不预先分配一个“演员池”来完成。
我想避免为此创建一个全局线程池,因为据我了解,它在细粒度并行性方面并不是那么好。
这是一个简单的例子:
现在是使用 exec 的示例:
最后运行示例(可能需要执行几次,以便 HotSpot 可以预热):
scala - 一个轻量级的 Scala fork join 语法
尽管即将推出 java 7 标准 fork/join 框架,但我正在构建一些语法轻量级的辅助方法,以便客户端并行运行代码。这是一个可运行的主要方法来说明这个想法。
一个样本输出是
测试 1 说明类型安全返回类型
测试 2 说明了任意输入参数
我希望将这两种测试方法结合起来,以便客户端代码可以与类型安全返回类型并行运行任意函数。
关于任意函数参数的另一点是:
我认为这条线
真的应该是代码
,但是 scala 编译器不允许我这样做。
任何帮助表示赞赏。
mapreduce - Fork/Join 和 Map/Reduce 的区别
Fork/Join 和 Map/Reduce 之间的主要区别是什么?
它们的分解和分布类型(数据与计算)是否不同?
java - Java 7:分叉/连接框架
有人能解释一下 Fork/Join 是什么吗?
java - Java fork join算法分析
我正在研究 Java 7 中新的 Fork-Join 框架(作为课程要求的一部分),并分析与传统线程机制相比的性能改进。有哪些分而治之的算法可以保证在新的分叉连接框架下运行得更快。您能否建议我可以用来分析性能差异的任何重要算法。
java - 配置文件 java 并行/顺序排序
有谁知道在java(顺序和叉连接)中分析排序算法的好方法?因为运行时间太短(排序列表大小 5000..),System.nanoTime() 似乎无法正常工作。
我计划多次运行相同的测试用例(1000 次)并去掉前 100 个结果(避免 HotSpot 编译器问题)并使用 System.nanoTime() 计算平均运行时间。对此有什么建议吗?
非常感谢!
我可以这样做吗?
javascript - 在 node.js 中协调并行执行
node.js 的事件驱动编程模型使得协调程序流有些棘手。
简单的顺序执行变成了嵌套回调,这很容易(尽管写下来有点复杂)。
但是并行执行呢?假设您有三个可以并行运行的任务 A、B、C,当它们完成后,您希望将它们的结果发送给任务 D。
使用 fork/join 模型,这将是
- 前叉
- 前叉 B
- 叉子 C
- 加入A,B,C,运行D
我如何在 node.js 中编写它?有没有最佳实践或食谱?我是否每次都必须手动推出解决方案,或者是否有一些图书馆为此提供帮助?