問題タブ [tpl-dataflow]

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

.net - 4.0 の TPL データフロー バージョンはどこにありますか?

TPL データフロー ライブラリの .NET 4.0 バージョンを探しています。

Nuget パッケージには 4.0 バージョンのライブラリがありますが、.NET 4.5 を対象としているようです。

このフォーラムのように、4.0 バージョンへのさまざまな参照を見つけました。

http://social.msdn.microsoft.com/Forums/en-US/tpldataflow/thread/6206c714-6dee-4d17-a880-26d0c137a167

しかし、言及されたリンクは、ライブラリの Nuget ページにリダイレクトするだけです。

.NET 4.0 を対象とする動作中のバージョンがどこにあるか知っている人はいますか?

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

c# - WCF デュプレックス内の TPL データフロー ブロック

私は SO の新しいライターです。ご容赦ください。

二重サービス契約を結んだ WCF サービスがあります。このサービス契約には、長いデータ処理を行うことを想定した運用担当者がいます。同時データ処理の数を最大 3 に制限するように制約されています。私の問題は、データ処理後に同じサービス インスタンス コンテキストに戻る必要があるため、イニシエータ エンドポイントをコールバックしてデータ処理結果を渡すことです。さまざまな理由により、TPL データフローと WCF デュプレックスに制約されていることに言及する必要があります。

ここに私がこれまでに書いたもののデモがあります

コンソール ライブラリで、WCF 呼び出しをシミュレートします

これがWCFサービスであると思われるものです

オペレーション コントラクトは非同期である必要はありませんが、OutputAvailableAsync 通知が必要でした。

これは良いアプローチですか、それとも私のシナリオに適した解決策はありますか?

前もって感謝します。

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

c# - C++ の C# TPL データフローに代わるものはありますか?

私は最近、デリゲートを使用して接続されたオブジェクトをシミュレートする方法に関する質問を投稿しました。そこでは、TPL DataFlow ライブラリを使用してアプリケーションのソリューションを非常に簡単かつクリーンに開発することについて素晴らしい回答を受け取りました。

問題は、私が C# の .NET 3.5 以下で立ち往生していることです。.NET 4.5 にアップグレードできたかもしれないと思っていましたが、この段階ではアップグレードできませんでした。私が判断できる限り、Dataflow ライブラリを .NET 3.5 に再ターゲットすることはできないため、次の解決策は、TPL Dataflow と同様の方法で C++ の代替手段を探すことです。これは最良のシナリオではありませんが、コンパイルできます。 C++ コードを DLL に変換し、C# アプリケーションにインポートします。

この質問に対する C++ ライブラリの要件を要約すると、次のようになります。

  • 複雑なネットワークでノードを接続し、それらの間でリソースのユニットを渡すことができる必要があります。それらのいくつかは、時間の経過とともに有限量のリソースを生成します。他の人はそれを特定の割合で消費します。
0 投票する
1 に答える
373 参照

.net - TPL データフロー: これら 2 つのコード スニペットの違いは何ですか?

TPL Dataflowを勉強しています。Belwo は、公式ドキュメントStephen Toub からの 2 つのコード スニペットです。TPL データフローの概要 (TPLDataflow.docx)。しかし、私はそれらの違いが何であるかを完全には理解していません。

ところで、これら 2 つのコード スニペットは、デモ用のドキュメントのサンプルです。それらは完全ではありません。

  1. イメージを順次および同期的にダウンロードする

    /li>
  2. イメージを順次および非同期にダウンロードする

    /li>
0 投票する
1 に答える
879 参照

c# - タスク データフロー、データ ブロックを完了状態から変更できますか?

データブロックの完了状態を変更できるかどうかを知りたいですか?

たとえば、var block = new BufferBlock<int>();データ ブロックを完全に でマークしましたblock.Complete()。ブロックは他のデータ ブロックにリンクされています。block完了状態を元の !complete 状態に戻すことで、再度実行できるかどうかを知りたいです。

それが不可能な場合、a) すべてのブロックのリンクを解除し、b) すべてのブロックを再インスタンス化し、c) すべてのブロックを再度リンクすることなく、完了を含む複数の実行を実行するにはどうすればよいですか?

フレームワーク全体を再作成することなく、チェーンの各ブロックを完了するなど、データ フロー サイクルを実行するタスクを容易にするアイデアはありますか?

ありがとう

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

task-parallel-library - I/O パフォーマンス - 非同期 vs TPL vs データフロー vs RX

大量のネットワークおよびディスク I/O を生成する C# 5.0 コードがあります。このコードの複数のコピーを並行して実行する必要があります。次のテクノロジのうち、最高のパフォーマンスが得られる可能性が高いのはどれですか?

  • await を使用した非同期メソッド

  • TPL から直接 Task を使用する

  • TPL データフロー ナゲット

  • リアクティブ拡張

私はこの並列処理があまり得意ではありませんが、Thread などの低いレバーを使用するとパフォーマンスが大幅に向上する場合は、それも検討します。

0 投票する
5 に答える
11805 参照

c# - 何か間違ったことをしていますか、それとも zip ファイルを並行して展開することはできませんか?

並列抽出をテストするためにこれを作成しました。

テスト用の次の単体テスト:

MaxDegreeOfParallelism = 1 では機能しますが、2 では機能しません。

更新 2

これは私自身が並行して行っていることですが、どちらも機能しません:) continueWithで例外を処理することを忘れないでください。

そして、ここに非同期バージョンがあります:

アップデート 3

次の例外は、handle.Exception でスローされます。

ZipFile がスレッドセーフかどうかを確認する必要があります。

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

.net - .NET - 使用可能なスレッドができるまでメイン スレッドをブロックする

メインスレッドがファイルを読み取り、それを部分に分割するプロセスがあります。これらのパーツには、さらに処理が必要です。ダウンストリーム処理ができるだけ多くの CPU (または多くのコア) を利用できるように、利用可能なスレッドを利用したいと考えています。メイン スレッドから過剰なバックログを作成したくないので、使用可能な別のスレッドができるまで、メイン スレッドがキューに追加されるのを待機する必要があります。

VB.NET 4.0: Looking to execute multiple threads, but wait until all threads are completed before resuming , but they are waiting for all threads to complete , while I just need any threads to be availableのような多くの記事を目にします

これはTask Parallel Libraryで取り組むことができるものですか、それとも手動でスレッドを作成してスレッドプールを監視する必要がありますか?

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

c# - TPL データフロー、データ ブロックが最初のアイテムを受信したときの通知

最初のアイテムが入力バッファーで受信されたとき、またはデータ ブロックで処理されたときに、1 回限りの通知をサブスクライブできるかどうか疑問に思います。データブロック内にフラグを設定できることは承知していますが、新しいアイテムごとにフラグのチェックを実行するため、オーバーヘッドが発生します。私のデータ ブロックは数百万のアイテムを処理するため、このフラグは不要なオーバーヘッドを追加します。

最初の着信アイテムで通知を受けるより良い方法はありますか?