【发布时间】:2011-06-30 16:55:35
【问题描述】:
有几篇关于这个的文章,我有这个工作......但我想知道如何一次为我的 Observable 订阅设置最大数量的任务线程。
我有以下方法来并行化日志条目的异步保存:
private BlockingCollection<ILogEntry> logEntryQueue;
和
logEntryQueue = new BlockingCollection<ILogEntry>();
logEntryQueue.GetConsumingEnumerable().ToObservable(Scheduler.TaskPool).Subscribe(SaveLogEntry);
要安排我的保存...但是如何指定调度程序一次使用的最大线程数?
【问题讨论】:
-
如果您创建调度程序只是为了限制最大并发线程数,那么请考虑查看 TPL 数据流。它是专门为创建管道而构建的,其中管道中的每个块都有不同的并发限制。至少当我对这两种方法进行原型设计时,它对我来说更易于理解和维护。
标签: .net system.reactive