問題タブ [parallel.foreach]
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.
c# - Parallel.ForEach()とforeach(IEnumerable).AsParallel())
エルグ、Reflectorを使用してBCLでこれら2つのメソッドを見つけようとしていますが、見つけることができません。これら2つのスニペットの違いは何ですか?
A:
B:
どちらか一方を使用すると、異なる結果が生じますか?(両方の例の括弧で囲まれた本文で行っていることはすべてスレッドセーフであると想定します。)
c# - Parallel.ForEach のエラー - オブジェクト参照がオブジェクトのインスタンスに設定されていません
デバッグできない奇妙な問題があります。情報を解析するデリゲートは次のとおりです。
デリゲート自体は、次のように 2 回呼び出されます。
すべてが正しく実行されているように見えます。特に、Parallel.ForEach
デリゲートの部分はエラーなしで実行されます。しかし、その後、コードは行Ctx.SaveChanges ()
で壊れ、メッセージが表示されます
オブジェクト参照がオブジェクト インスタンスに設定されていません。
しかし、Ctx
(この壊れた状態で) にカーソルを合わせると、Ctx
は表示されませんnull
。
誰かが何が起こっているのか教えてもらえますか?
c# - Parallel.ForEach は ForEach より遅い
コードは次のとおりです。
問題は、約 40ms かかるParallel.ForEach
通常の に対して約 400ms かかることです。foreach
正確に何が間違っているのですか?なぜこれが期待どおりに機能しないのですか?
c# - BlockingCollection.GetConsumableEnumerable を使用した Parallel.ForEach ループ
を使用しているときにParallel.ForEach
ループが終了するのはなぜですか?OperationCancelledException
GetConsumableEnumerable
entity-framework-4 - ObjectContext.AddでParallel.ForEachの利点を使用します
汎用リポジトリパターンでEntityFrameworkを使用しています。次のメソッドを使用してオブジェクトを追加しました。
また、これを拡張して複数のエンティティをサポートすることも考えています。
上記のシナリオでループのParallel.ForEach
代わりに使用することには実際の利点がありますか?foreach
またSaveChanges()
、ループの最後まで呼び出していないので、たとえば主キー違反がある場合、それはループ内にスローされますか、それともSaveChanges()
呼び出されたときにスローされますか?変更をロールバックできますか?
excel - すべての Excel ワークシート セルでキーワードを検索する際に Parallel / PLINQ を利用する最良の方法
タイトルのとおり、Excel に似List<string> keywords;
たオブジェクト モデルがあります。Workbook
WorkbookCell
リスト内のキーワードに一致するすべてを取得したいと思います。
私は多分 Parallel 検索が良い考えだと思っていました:
実際、これはあまりにも多くの並列でしょうか? より良いアイデアがあれば教えてください。
** 通常は 20 未満のワークシートしかありませんが、すべてのワークシートには 10000 を超える行と数百の列が含まれます。
azure - ファイルを Azure BLOB ストレージにアップロードする - Parallel.Foreach は Foreach より遅い
ローカル ストレージから BLOB ストレージにフォルダーをアップロードするための次のコードがあります。BLOB の名前にフォルダー名自体を含めます (コードは、ここにあるいくつかのメソッドに基づいていますhttp://blog.smarx.com/posts/pivot-odata -and-windows-azure-visual-netflix-browsing ) :
と :
このコードは機能し、意図したとおりにフォルダをアップロードしますが、完了するまでに非常に時間がかかります.25個のファイルをアップロードするのに20秒かかり、それぞれ40KB~です. そのため、並列ループを次のような通常のループに置き換えるのにうんざりしていました。
アップロードは瞬時に完了します (約3 秒)。
It's also important to note that I am working against the storage emulator for development.
The Parallel.Forech should obviously be faster. Does this difference comes form the storage emulator limitations (And when going live, Parallel would be faster) or is it something else I might be doing wrong ?
c# - Parallel.ForEachおよび閉じたTextReader例外から読み取ることができません
さまざまなフィードのURLを含むテキストファイルがあります。次のコードを使用して、コレクション(IEnumerable)内のすべてのURLを読み取っています。
次の行では、合計数を印刷しています:
その後、Parellel.ForEach構文を使用して、各URLに対応するロジックを実行します。以下はコードです、私は使用しています:
問題は、URLの数を出力するコード、つまりURLオブジェクトのCount()メソッドを呼び出すコードを追加するとすぐに、次の例外が発生することです。例外 :
また、カウント値を出力する行を削除/コメントアウトすると、Parallel.ForEachループは正常に実行されます。
ここで何がうまくいかないのか誰かが何か考えを持っていますか?
c# - foreach ループを Parallel.ForEach ループに変更する
さて、これが基本的な背景です。このプログラムは Outlook/Exchange に接続し、すべてのメール メッセージを解析して暗号化されているメッセージを確認します。私がやりたいことの 1 つは、マルチスレッドを使用して、メッセージをスキャンするのにかかる時間を短縮することです。
現在、コードは次のようになっています。
代わりに Parallel.ForEach 関数を利用したいと思います。どうやって設定しようか悩んでました。式を今のように設定しようとしましたが、Object 型が変数として使用されているというエラーが表示されます。これについての助けをいただければ幸いです。
わかりました、与えられたレイアウトは正しいようです。コードは現在次のようになっています。
次のエラーが表示されます。
エラー 15 メソッド System.Threading.Tasks.Parallel.ForEach(System.Collections.Concurrent.OrderablePartitioner, System.Action)' の型引数を使用法から推測できません。型引数を明示的に指定してみてください。
何か案は?ご協力いただきありがとうございます。
さて、私はこのサイトを見つけました: http://blogs.msdn.com/b/pfxteam/archive/2010/03/02/9971804.aspxそして、それは私がエラーに必要な答えを与えてくれました. キャスト関数を作成して、コレクションを汎用コレクションに変更する必要がありました。
そして、オリジナルを微調整して
現在、エラーなしで実行されます。万歳。
c# - Parallel.ForEach を使用して datagridview に行を作成する
最近、MP3 ファイルにタグを付けるための「クイック」Windows フォーム アプリを作成することにしました。.Net 3.0 以降、並列処理については何も行っていないため、標準の foreach ステートメントを使用しているときに発生する UI ロックを処理する Parallel.ForEach メソッドを調べています。ここに抜粋があります:
Parallel.ForEach() の簡単な使用法を理解しましたが、その特定のメソッドを使用して UI を更新する必要があるかどうかわかりません。助言がありますか?