BlockingQueue を使用して一般的なプロデューサー/コンシューマーを構築しようとしています。
すべてのコンピューター リソースを消費せずに、できるだけマルチ スレッド化または並列化したいと考えています。
プロデューサーが 1 つあるとします。データを消費するときに、スレッドとしてコンシューマーを使用するか、タスクを使用して 1 つのコンシューマーを使用する方がよいでしょうか?
while(true)
{
queue.TryTake(...) { Task.Factory.StartNew(...); }
}
また
Thread t = new Thread(Consumer.Start);