問題タブ [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 searchable を使用したアクター スレッド内のエンティティのインデックス作成
Grails 検索可能プラグインを使用して、エンティティをカスタム テキスト表現でインデックス付けしています。このエンティティは、エンティティが挿入されると非同期にトリガーされるアクター (GPars を使用) でインデックス付けされるようにします。Grailsで検索可能/コンパスフレームワークを使用してこれを実現する方法はありますか?
multithreading - gpars withExistingPool
GParsPool.withExistingPool
gpars 0.12でgparsを使用しようとしてjsr166y.ForkJoinPool
いますが、私が持っているjsr166y jarのように見えますが、そのクラス(?)を作成する方法はありません。私が作成できるのは次jsr166y.forkjoin.ForkJoinPool
のようなものだけです。
パッケージが異なることに注意してください。そのため、実行しようとするとメソッドシグネチャエラーが発生します。これを克服する方法はありますか?
groovy - GParsのデフォルトのプールサイズはいくつですか?
これは簡単に見つけられると思いましたが、失敗しました。
GroovyアプリケーションでGParsを使用し、プールサイズを指定しない場合、作成されるスレッドの数はいくつですか?設定せずにデフォルトのプールサイズはありますか?
groovy - Groovy GPars、起動されたスレッドごとにインデックスが必要
Groovy で GPars を使用して、3 つのスレッドを起動していくつかの作業を並行して行います...
これは正常に動作しますが、起動されたスレッド番号を表すクロージャーにインデックスが必要です。ループがないため、そのようなインデックスにアクセスする方法がわかりません。すべてが並行して起こっています。
、これを使用してみeachWithIndexParallel
ましたが、Groovy は (ArrayList, Integer) に対してそのようなメソッドがないと文句を言います
multithreading - Groovy を使用した GPars、いつ collectParallel() で明示的な同期が必要ですか?
Groovy/Gpars で以下の並列処理を想定します....
は単なる配列リストであり、 でアクセスまたは操作するスレッドがないresult
と仮定すると、明示的に同期する必要がありますか? 代わりにこれを行うべきかどうかを知る必要があります...result
processItem()
result
groovy - DataFlow 変数を 1 回しか割り当てられない理由
最近、GPars(Groovy Parallel System) ライブラリを調査していて、DataFlow 変数に出会いました。ドキュメントには、Dataflow 変数は 1 回しか割り当てることができないと書かれています。ただし、この制限の理由を見つけることができませんでした。
GPars の Dataflow 変数が 1 回だけ割り当てられる理由を誰か教えてもらえますか?