Task Parallel Library を使用しているようなシナリオがあり、作成されるオブジェクト (ここではタスク) の数を制限する必要があります。つまり、既存のタスクを再利用するということであり、オブジェクト プールのデザイン パターンを使用してこの機能を実装することを考えています。しかし、調査を行ったところ、「実行中または完了したタスクの再開はサポートされていない」ことがわかりました。だから私の質問は、タスクを再利用していなくても、ここでオブジェクト プール パターンを使用できるかということです。とにかく、作成するタスクの数を制限しているためです。アドバイスをお願いします。
1 に答える
1
Task
実行可能な作業単位 (同期または非同期) を表すオブジェクト。実行を制限しようとしているようですが、作成されるオブジェクトの量を制限するためにオブジェクト プールが使用されています。タスクを再利用する本当の意味はありません (たとえば、db 接続とは異なります)。
同時実行を制限するにはSemaphoreSlim
、 withWait/WaitAsync
またはTPL Dataflow
withを使用できますMaxDegreeOfParallelism
。
于 2014-06-19T08:58:20.610 に答える