我正在设计一个Windows服务,它将查询数据库表以获取要处理的xml文档列表。我可以得到1份文件,我可以得到100份。我原本打算将每个请求放入.NET线程池进行处理,但我想知道是否有一个使用.NET TPL的模型或示例。是否值得将TPL用于这样一个简单的模型?
答案 0 :(得分:0)
现在没有理由直接使用线程池。基本方法可能是使用异步I / O来执行数据库请求(无线程),然后继续执行默认(线程池)任务调度程序。如果你需要并行处理(并且它实际上是可行的,所以你可能想避免共享的可变状态),你可以简单地使用Parallel.ForEach
等。
当然,如果大多数工作都是由DB而不是客户端应用程序完成的,那么您将能够通过异步I / O完成所有工作。