問題タブ [fire-and-forget]
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# - デリゲート呼び出しを Fire-And-Forget として呼び出す方法
進行状況を報告できる .NET Standard ライブラリがあります。進捗報告メソッドが完了するまで、プログラムがブロックされないようにしたいと思います。代わりに、内部で作業を継続できる Fire-And-Forget パターンが必要ですDoWork()
これまでは、ReportProgress に割り当てられたメソッド本体が迅速に実行される必要があることを要件として挙げてきました。しかし、優れたコーディング ソリューションがあれば、要件に依存したくありません。
ReportProgress の呼び出しを新しいスレッドでラップする可能性がありますが、それは効率が悪いと思われ、1000 のスレッドが生成されます。
この質問は、クラスで何らかの形で ThreadPool を公開する必要があることを示唆していますが、これが理にかなっているとは確信していません: C# でメソッドを起動して忘れる最も簡単な方法は?
この状況にどのようにアプローチしますか?
編集: クラスのユーザーがこのように使用していると思います。リモート データベースの更新が遅くなる可能性があることに注意してください。この顧客は、私が構造を再考する必要があった理由でした.