2

C#の並列性を利用するために設計されたコレクションのライブラリに関して、TPLとPLINQにどのような選択肢があるのだろうかと思います。C#のタスク並列ライブラリとPLINQの代替案

編集:私は質問が混乱していたと思います。私はPLINQ以外の並列コレクションライブラリを探しています。おそらくPLINQとTPLの上に実装されています。私は特に純粋な関数ライブラリに興味があります。

+3

あなたが不満を感じているTPLについて教えてください。 – JaredPar

+0

反応性エクステンションは数えられますか? –

+0

@JaredPar私はTPLが不満足であることを暗示するつもりはありませんが、他にどのようなオプションがあるか知りたいと思います。しかし、あなたが尋ねると、TPLはある目的ではあまりにも低レベルなので、私はPLINQで行われた設計上の決定(例えば、シーケンスと順序付けられていないコレクションの集約)には同意しません。 – cdiggins

答えて

1

並列処理は、常に同じタスクを実行するために、複数のスレッド(またはコンピュータがそれらに含まれていないもの)を必要とします。入力値のセットを均等に分割し、これらのチャンクのそれぞれを処理する多数のスレッドを開始するのは非常に簡単です。ボーナスは、呼び出しスレッドから結果/例外を読み取ることができます。これは、TPLとPLINQの両方で可能です。

TPLとPLINQの利点は、タスクを並行して実行するためにこれらの詳細について考える必要がないことです。プログラムを作成した後、これらのライブラリが入力と出力をどのように扱うかを微調整して、コードにほとんど変更を加えることができます。たとえば、各スレッドに等しい量の入力値を供給するのではなく、チャンクを終了するたびに部分をフィードしたい場合があります。

あなたが本当の並列性を本当に守っていない限り、私は何が欠けているか分かりません。

+0

回答ありがとうございますが、これは私が後にしたものではありません。私はコレクションの同時操作を実行するためのPLINQとTPLの代替ライブラリを探しています。私の明確さの欠如のため申し訳ありません。 – cdiggins

+0

一方、TPL/PLINQについて好きでないことを説明せずに、PLINQ/TPLの上に実装される可能性のあるもの(「代替」としてカウントできないもの)を望む一方で、代替案が必要です。あなたはあなたが探しているものの例を挙げることができますか? –

関連する問題