问题标签 [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.
groovy - GParsPool runForkJoin 中的 ConcurrentException/NullPointerException
对于一点上下文,我正在尝试使用出色的 GParsPool Fork/Join 支持来解决 Project Euler问题 31。
为此,我编写了愚蠢的代码:
不幸的是,每次我尝试运行它时,我都会得到以下堆栈跟踪:
我知道这与我想利用 Fork/Join 作为递归“扁平化”机制的方式有关,但我在这里做的错误是什么?
grails - Grails + Gpars.memoize().. 如何做记忆?
我似乎无法弄清楚如何在 Grails 中进行记忆。根据 GPars 文档,它应该很简单
def c = { x -> x*2 }.memoize() or ... .gmemoize()
但我似乎得到的只是编译错误和抛出的堆栈跟踪。有没有人成功地将 gpars 与 grails 一起使用?
multithreading - Groovy GPars如何按线程数/计数休眠线程?
我目前有一个 GPars 问题,我想启动大约 30 个线程,但我想在每个线程启动后等待 1 秒。
我的代码目前看起来像这样(Groovy/Grails):
这个解决方案的问题是“eachWithIndexParallel”同时以随机顺序启动所有线程,例如 5000 封邮件:
启动线程 3500 = 等待 3500 秒
启动线程 1000 = 等待 1000 秒
....直到启动 30 个线程它等待线程停止
我需要这样的解决方案:
启动线程 2500 = 等待 1 秒
启动线程 5 = 等待 2 秒
启动线程 4888 = 等待 3 秒
...直到启动 30 个线程然后等待线程停止
如果我只使用一个计数变量,那么我遇到的问题是多个线程具有相同的计数,因为同时启动......而且每个线程之间有 1 秒的延迟非常重要。
我怎么解决这个问题?
grails - Grails GPARS 升级
我正在使用 Grails 1.4.0.M1,并且正在尝试升级 gpars 的版本以与我的应用程序一起使用。
所以我在 BuildConfig.groovy 中添加了:
但是,当我使用 run-app 时,这给我带来了以下异常:
我怀疑它可能在旧版本中使用此库链接到 grails 框架,并且版本不兼容。
知道如何克服这个问题吗?
谢谢。
grails - 使用 Grails 可搜索索引参与者线程中的实体
我正在使用 Grails 可搜索插件来索引具有自定义文本表示的实体。我希望这个实体在一个actor(使用GPars)中被索引,一旦插入实体就会被异步触发。有没有办法使用带有 Grails 的可搜索/指南针框架来实现这一点?
multithreading - gpars 与现有池
我正在尝试GParsPool.withExistingPool
在 gpars 0.12 中使用 gpars 它需要一个jsr166y.ForkJoinPool
但看起来像在我拥有的 jsr166y jar 中,没有办法创建该类(?)。我唯一可以创建的是jsr166y.forkjoin.ForkJoinPool
这样的:
注意包装是不同的。所以当我尝试运行时出现方法签名错误。知道如何克服这个问题吗?
groovy - GPars 默认池大小是多少?
我以为这很容易找到,但我失败了。
如果我在我的 Groovy 应用程序中使用 GPars 并且我没有指定池大小,将创建多少个线程?是否有默认池大小而不设置一个?
groovy - Groovy GPars,每个启动的线程都需要索引
将 GPars 与 Groovy 一起使用,我启动了 3 个线程来并行执行一些工作......
这工作正常,但我需要一个代表启动线程号的闭包索引。由于没有循环,因此不确定如何访问这样的索引;一切都在并行发生。
我尝试使用eachWithIndexParallel
, 这个,但是 Groovy 抱怨 (ArrayList, Integer) 没有这样的方法
multithreading - 使用 Groovy 的 GPars,collectParallel() 何时需要显式同步?
假设 Groovy/Gpars 中的以下并行过程......
ifresult
只是一个数组列表,并且假设没有线程访问或操作result
in processItem()
,是否result
需要显式同步?我需要知道我是否应该这样做...
groovy - 为什么 DataFlow 变量只能分配一次
这些天我正在探索 GPars(Groovy 并行系统)库,我遇到了 DataFlow 变量。文档说数据流变量只能分配一次。但是我找不到这个限制的原因。
有人能告诉我为什么 GPars 中的数据流变量只分配一次吗?