問題タブ [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.
java - ForkJoinPool 非同期モードとは
ForkJoinPool の非同期モードとはどういう意味ですか? Javadoc は、LIFO の代わりにキュー (スレッドごとのキューですか?) FIFO を作成すると述べています。実際にはどういう意味ですか?
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 で働いています。
ありがとう、アレックス
java - ForkJoinPool クラスの Execute() メソッド
これについてのAPIの説明は次のとおりです。
スレッド、Executor 実装の裁量で。
ForkJoinPool は既に ExecutorService の実装ですか? 彼らは何を話している?このようなメソッドの動作を知るにはどうすればよいですか?
java - ForkJoinPool はスレッド中断状態をリセットします
ForkJoinPoolによって返された Future をキャンセルするときに、次の現象に気付きました。次のコード例を考えます。
プログラムは決して印刷しませんinterrupted
。ForkJoinTask#cancel(boolean)のドキュメントは次のように述べています。
mayInterruptIfRunning - キャンセルの制御に割り込みが使用されないため、この値はデフォルトの実装では効果がありません。
ForkJoinTasks が割り込みを無視する場合、ForkJoinPool に送信された Callables 内のキャンセルをチェックするには、他にどのような方法がありますか?
java - この単純な Java フォーク ジョイン プールが機能しないのはなぜですか?
この forkjoin プールをテストしようとしていますが、うまくいきません。なぜだろう?
これは、配列を取得し、その要素に 3 を追加するために作成したクラスです。
これがメインクラスです:
java - 分割統治の基本ケースの反復フォーク結合
分割を開始する前に、2 つの計算集約的な基本ケース タスクを必要とする再帰的な分割統治アルゴリズムがあります。最初の基本ケースは独立したタスクなので、並行して実行したいと考えています。基本ケースの後、分割は 0 と 1 の間の異なる入力で同じタスクを実行し、出力に基づいて再度分割するかどうかを決定します。再帰を偽装するタスク ラッパー オブジェクトを作成することで、基本的なケースが機能するようになりましたが、次のように、これは面倒なことのように感じます。
同じことを達成するためのより簡単な方法はありますか?
これは私の最初の StackOverflow 投稿です。形式やプロトコルのエラーはご容赦ください。お手伝いありがとう。
java - Scala async と Java ForkJoinTask の比較
しばらく前にScala Async Projectを発見しました。async
問題は、単純な関数 (マクロ展開なし) では実装できないこのブロックの魔法のようなものは何ですか?
導入部の最初の例を見てみましょう。
上記の例には、純粋な Java で記述できないものは何もありません。このコードはまったく同じことを行います:
Scalaasync
にできて Java にできないことは? たぶん、もっと複雑なシナリオの場合は?何が恋しいですか?