我正在使用支持 BlockingCollection 的生产者/消费者模式从文件中读取数据,解析/转换然后插入数据库。我拥有的代码与此处可以找到的代码非常相似:http: //dhruba.name/2012/10/09/concurrent-producer-consumer-pattern-using-csharp-4-0-blockingcollection-tasks/
但是,主要区别在于我的消费者线程不仅解析数据,还插入数据库。这一点很慢,我认为是导致线程阻塞。
在示例中,有两个消费者线程。我想知道是否有办法以某种智能的方式增加线程数?我原以为线程池会做到这一点,但似乎无法理解如何做到这一点。
或者,您将如何选择消费者线程的数量?2 对我来说似乎不正确,但我不确定最好的 # 会是什么。关于选择消费者线程数的最佳方式的想法?