問題タブ [parallel-for]

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 に答える
2734 参照

c# - c# - 複数セットの並列スレッドを実行する (Parallel.ForEach)

2 セットの並列タスクを実行しようとしています。私の task.Invoke() メソッドは非同期なので、最初の一連のタスクでは .Wait(); を省略します。しかし、2 番目のセットでは .Wait() を使用して、すべてのタスクが実際に完了するまで並列セットを終了しません。

これは通常、Aグループのタスクが開始され、次にBグループのタスクが開始され、グループAが実行されているグループ内ですべてのタスクが並行して機能し、グループBが実行され、グループbはそのタスクのすべてのタスクが完了するまで終了しません。 .

問題は、タスク b グループが完了する前にグループ a タスクが必ずしも完了するとは限らないため、場合によってはグループ a がまだ実行されている間に関数が終了することです。

おそらく、タスクのコレクションのコレクションを使用して並列ループの並列ループを作成することにより、それらがすべて相互運用できるように書き直すことができると思いますが、clr 内のスレッド管理などに悪影響を与えるのでしょうか?

背景は、間隔を置いて実行されるバックグラウンド プロセスがあることです。実行するタスクを 2 つのグループに分割します。グループ A は実行時間の長いタスクで、グループ B はキューに格納された一連の実行時間の短いタスクです。両方のセットは同じ開始時間と停止時間で同じ優先度を持ち、時間切れになったときにキューを停止することができ、どのタスクも次のサイクルを再開できます。

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

c++ - 並列ループ内で double を追加する - std::atomic

いくつかの計算を行ってから double をループ外の double 変数に追加する並列コードがあります。std::atomic を使用してみましたが、 std::atomic < double > 変数の算術演算はサポートされていません。

簡単に書く

明らかに意味をなさない。私の質問は、コードをシリアルにせずにこの問題を解決するにはどうすればよいですか?

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

c++ - Linux の parallel_for の c++ ppl.h

C++を使用してWindowsでプロジェクトを作成しましたが、現在、Linux(ubunt)でプロジェクトをビルドしようとしています。しかし、Linux で ppl.h が見つかりませんでした。プロジェクトで多くの parallel_for を使用しました。

代用できるものは何ですか?