问题标签 [gpars]

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 回答
468 浏览

groovy - GParsPool runForkJoin 中的 ConcurrentException/NullPointerException

对于一点上下文,我正在尝试使用出色的 GParsPool Fork/Join 支持来解决 Project Euler问题 31

为此,我编写了愚蠢的代码:

不幸的是,每次我尝试运行它时,我都会得到以下堆栈跟踪:

我知道这与我想利用 Fork/Join 作为递归“扁平化”机制的方式有关,但我在这里做的错误是什么?

0 投票
2 回答
281 浏览

grails - Grails + Gpars.memoize().. 如何做记忆?

我似乎无法弄清楚如何在 Grails 中进行记忆。根据 GPars 文档,它应该很简单 def c = { x -> x*2 }.memoize() or ... .gmemoize()

但我似乎得到的只是编译错误和抛出的堆栈跟踪。有没有人成功地将 gpars 与 grails 一起使用?

0 投票
2 回答
2565 浏览

multithreading - Groovy GPars如何按线程数/计数休眠线程?

我目前有一个 GPars 问题,我想启动大约 30 个线程,但我想在每个线程启动后等待 1 秒。

我的代码目前看起来像这样(Groovy/Grails):

这个解决方案的问题是“eachWithIndexParallel”同时以随机顺序启动所有线程,例如 5000 封邮件:
启动线程 3500 = 等待 3500 秒
启动线程 1000 = 等待 1000 秒
....直到启动 30 个线程它等待线程停止

我需要这样的解决方案:
启动线程 2500 = 等待 1 秒
启动线程 5 = 等待 2 秒
启动线程 4888 = 等待 3 秒
...直到启动 30 个线程然后等待线程停止

如果我只使用一个计数变量,那么我遇到的问题是多个线程具有相同的计数,因为同时启动......而且每个线程之间有 1 秒的延迟非常重要。

我怎么解决这个问题?

0 投票
1 回答
680 浏览

grails - Grails GPARS 升级

我正在使用 Grails 1.4.0.M1,并且正在尝试升级 gpars 的版本以与我的应用程序一起使用。

所以我在 BuildConfig.groovy 中添加了:

但是,当我使用 run-app 时,这给我带来了以下异常:

我怀疑它可能在旧版本中使用此库链接到 grails 框架,并且版本不兼容。

知道如何克服这个问题吗?

谢谢。

0 投票
0 回答
87 浏览

grails - 使用 Grails 可搜索索引参与者线程中的实体

我正在使用 Grails 可搜索插件来索引具有自定义文本表示的实体。我希望这个实体在一个actor(使用GPars)中被索引,一旦插入实体就会被异步触发。有没有办法使用带有 Grails 的可搜索/指南针框架来实现这一点?

0 投票
1 回答
908 浏览

multithreading - gpars 与现有池

我正在尝试GParsPool.withExistingPool在 gpars 0.12 中使用 gpars 它需要一个jsr166y.ForkJoinPool但看起来像在我拥有的 jsr166y jar 中,没有办法创建该类(?)。我唯一可以创建的是jsr166y.forkjoin.ForkJoinPool这样的:

注意包装是不同的。所以当我尝试运行时出现方法签名错误。知道如何克服这个问题吗?

0 投票
2 回答
2198 浏览

groovy - GPars 默认池大小是多少?

我以为这很容易找到,但我失败了。

如果我在我的 Groovy 应用程序中使用 GPars 并且我没有指定池大小,将创建多少个线程?是否有默认池大小而不设置一个?

0 投票
1 回答
2009 浏览

groovy - Groovy GPars,每个启动的线程都需要索引

将 GPars 与 Groovy 一起使用,我启动了 3 个线程来并行执行一些工作......

这工作正常,但我需要一个代表启动线程号的闭包索引。由于没有循环,因此不确定如何访问这样的索引;一切都在并行发生。

我尝试使用eachWithIndexParallel, 这个,但是 Groovy 抱怨 (ArrayList, Integer) 没有这样的方法

0 投票
1 回答
1850 浏览

multithreading - 使用 Groovy 的 GPars,collectParallel() 何时需要显式同步?

假设 Groovy/Gpars 中的以下并行过程......

ifresult只是一个数组列表,并且假设没有线程访问或操作resultin processItem(),是否result需要显式同步?我需要知道我是否应该这样做...

0 投票
2 回答
385 浏览

groovy - 为什么 DataFlow 变量只能分配一次

这些天我正在探索 GPars(Groovy 并行系统)库,我遇到了 DataFlow 变量。文档说数据流变量只能分配一次。但是我找不到这个限制的原因。

有人能告诉我为什么 GPars 中的数据流变量只分配一次吗?