0

Task Parallel Library を使用しているようなシナリオがあり、作成されるオブジェクト (ここではタスク) の数を制限する必要があります。つまり、既存のタスクを再利用するということであり、オブジェクト プールのデザイン パターンを使用してこの機能を実装することを考えています。しかし、調査を行ったところ、「実行中または完了したタスクの再開はサポートされていない」ことがわかりました。だから私の質問は、タスクを再利用していなくても、ここでオブジェクト プール パターンを使用できるかということです。とにかく、作成するタスクの数を制限しているためです。アドバイスをお願いします。

4

1 に答える 1

1

Task実行可能な作業単位 (同期または非同期) を表すオブジェクト。実行を制限しようとしているようですが、作成されるオブジェクトの量を制限するためにオブジェクト プールが使用されています。タスクを再利用する本当の意味はありません (たとえば、db 接続とは異なります)。

同時実行を制限するにはSemaphoreSlim、 withWait/WaitAsyncまたはTPL Dataflowwithを使用できますMaxDegreeOfParallelism

使用するスレッドの数を制限するには、カスタムを作成する必要がありますTaskScheduler

于 2014-06-19T08:58:20.610 に答える