Producer タスクと Consumer タスクを使用してファイルを操作する非常に基本的なアプリケーションがあります。ここの例に基づいていますhttp://msdn.microsoft.com/en-us/library/dd267312.aspx
プログラムの基本は、Producer タスクがハード ドライブ上のファイルを列挙し、それらのハッシュ値を計算し、その他いくつかのことを行うことです。Producer がファイルの操作を完了すると、ファイルを Enques し、Consumer がそれを取得します。
Consumer タスクは、リモート サーバーに接続し、ファイルのアップロードを試行する必要があります。ただし、リモート サーバーに接続できないなどのエラーがコンシューマーで発生した場合は、実行中の処理を停止して終了する必要があることをプロデューサー タスクに通知する必要があります。サーバーがダウンした場合、またはダウンした場合、Producer が何千ものファイルを循環し続ける必要はありません。
BlockingCollection オブジェクトで .CompleteAdding() を使用して、Producer タスクから Consumer タスクにシグナルを送るサンプルをたくさん見てきましたが、生産を停止する必要があるというシグナルを Consumer から Producer に送信する方法がわかりません。