異なるタスクキューを維持する必要がある環境が必要です。それぞれのキューに対して、実行可能な並行スレッドの数を定義する必要があります。このようなもの:c#タスクマルチキュー調整
- キュー1 - > 3スレッド;
- キュー2 - > 6スレッド。
種類のタスクシステム。私は自分自身で、1年以上にわたって正常に機能する普通の古いC#コード(別名System.Threading.Thread、ロックとキュー)を実装しています。しかし、私はTaskFactoryとTaskSchedulerの不思議について記事を読んでいますが、.NETで組み込みのクラスを使ってこのことを可能にしていることについてはわかりましたが、これを実証するための例は見つかりませんでした。私はそれを試してみて、今働いているかどうかを今見ているものと比較して、それがあればそれを置き換えてみたい。
キュー#1が実行されていてもキュー#2を対象とするアイテムが即座に実行された場合、guarantee
を取得できる限り、キューごとに並列スレッドの数を制限または設定する必要はありません。全負荷時。
だから、私の質問です.net4以上のものがあります。誰かが私にサンプルを指すことができますか?私は1週間に1つを探していて、関連性のあるものを得ることに失敗しました。
OPが望んでいると思われるものを実現するには、タスクを優先キューで発行するだけでは不十分です。キュー#2のタスクを実行するスレッドは、キュー#1を処理するスレッドよりも高い優先順位で実行する必要があります。これらのソリューションがこれを可能にすることは明らかではありませんか? –
はい、確かにこれは私が必要とするものと一致するものです。これは異なるキューを実装し、同時に実行できる要素の最大数を制限し、他のアイテムを最初のキューと並行して実行するために2番目のキューを停止しません。ありがとう! – dcg