問題タブ [forkjoinpool]

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 投票する
2 に答える
6554 参照

java - ForkJoinPool 非同期モードとは

ForkJoinPool の非同期モードとはどういう意味ですか? Javadoc は、LIFO の代わりにキュー (スレッドごとのキューですか?) FIFO を作成すると述べています。実際にはどういう意味ですか?

0 投票する
3 に答える
839 参照

java - Java ExecutorService - スケーリング

ExecutorServiceとその関数を使用して Java でプログラムを作成しようとしていますinvokeAll。私の質問は次のとおりinvokeAllです。関数はタスクを同時に解決しますか? つまり、プロセッサが 2 つある場合、同時に 2 つのワーカーが存在するということですか? 正しくスケーリングできないからです。newFixedThreadPool(2)または 1を与えると、問題を完了するのに同じ時間がかかります。

Map実装するクラスでCallableありwp、異なる時間にいくつかの情報を保持するクラスである Partial Solutions のベクトルです。

なぜスケールしないのですか?何が問題なのですか?

これは PartialSolution のコードです。

これは Map のコードです。

したがって、マップでは、フラグメントからすべての行を取得し、出現回数ごとにすべての式を検索し、行数も保存します。すべてのフラグメントを処理した後、同じ PartialSolution で情報をハッシュ マップに保存し、新しい PartialSolution を返します。次のステップでは、PartialSolutions を同じ fileName と組み合わせて、Map と同じである Callable クラス Reduce に導入します。違いは、他の操作を行いますが、PartialSolution も返すことです。

これは、Map タスクを実行するためのコードです。

タスクでは、タイプ Map のタスクを作成し、リストではそれらを取得します。JVM スレッド ダンプの読み方がわかりません。私があなたに提供した情報で十分であることを願っています。それが助けになるなら、私は NetBeans 7.0.1 で働いています。

ありがとう、アレックス

0 投票する
1 に答える
667 参照

java - ForkJoinPool クラスの Execute() メソッド

これについてのAPIの説明は次のとおりです。

スレッド、Executor 実装の裁量で。

ForkJoinPool は既に ExecutorService の実装ですか? 彼らは何を話している?このようなメソッドの動作を知るにはどうすればよいですか?

0 投票する
2 に答える
1605 参照

java - ForkJoinPool はスレッド中断状態をリセットします

ForkJoinPoolによって返された Future をキャンセルするときに、次の現象に気付きました。次のコード例を考えます。

プログラムは決して印刷しませんinterruptedForkJoinTask#cancel(boolean)のドキュメントは次のように述べています。

mayInterruptIfRunning - キャンセルの制御に割り込みが使用されないため、この値はデフォルトの実装では効果がありません。

ForkJoinTasks が割り込みを無視する場合、ForkJoinPool に送信された Callables 内のキャンセルをチェックするには、他にどのような方法がありますか?

0 投票する
1 に答える
1993 参照

java - この単純な Java フォーク ジョイン プールが機能しないのはなぜですか?

この forkjoin プールをテストしようとしていますが、うまくいきません。なぜだろう?

これは、配列を取得し、その要素に 3 を追加するために作成したクラスです。

これがメインクラスです:

0 投票する
1 に答える
463 参照

java - 分割統治の基本ケースの反復フォーク結合

分割を開始する前に、2 つの計算集約的な基本ケース タスクを必要とする再帰的な分割統治アルゴリズムがあります。最初の基本ケースは独立したタスクなので、並行して実行したいと考えています。基本ケースの後、分割は 0 と 1 の間の異なる入力で同じタスクを実行し、出力に基づいて再度分割するかどうかを決定します。再帰を偽装するタスク ラッパー オブジェクトを作成することで、基本的なケースが機能するようになりましたが、次のように、これは面倒なことのように感じます。

同じことを達成するためのより簡単な方法はありますか?

これは私の最初の StackOverflow 投稿です。形式やプロトコルのエラーはご容赦ください。お手伝いありがとう。

0 投票する
1 に答える
1010 参照

java - Scala async と Java ForkJoinTask の比較

しばらく前にScala Async Projectを発見しました。async問題は、単純な関数 (マクロ展開なし) では実装できないこのブロックの魔法のようなものは何ですか?

導入部の最初の例を見てみましょう。

上記の例には、純粋な Java で記述できないものは何もありません。このコードはまったく同じことを行います:

Scalaasyncにできて Java にできないことは? たぶん、もっと複雑なシナリオの場合は?何が恋しいですか?