データベースから数行 (数百万になる可能性があります) を c# で並行して処理する必要があります。処理は非常に高速 (50 または 150 ミリ秒/ライン) ですが、ハードウェア/ネットワークに依存するため、実行前にこの速度を知ることはできません。
ThreadPool または新しい TaskParallelLibrary は、スレッド化が初めてで、データを処理する最も効率的な方法を取得したいので、私のニーズを満たすもののようです。
ただし、これらの方法では、タスクの実行速度 (行/分) を制御する方法は提供されません。処理の最大速度制限を設定したり、フル スピードで実行したりしたいと考えています。
ThreadPool/TaskFactory のスレッド数を設定しても、私のニーズに対して十分な精度が得られないことに注意してください。速度制限を「1 つのスレッド速度」未満に設定できるようにしたいからです。
TPL のカスタム シェデュラーを使用することは、それを行う方法のようですが、それを実装する方法が見つかりませんでした。
さらに、そのようなセットアップにかかる効率コストが心配です。
この仕事を達成する方法やアドバイスを教えていただけますか?
ご回答ありがとうございます。