我现有的 C# 应用程序更新了一个共享点网站集。现在我的任务是让我的 c# 应用程序更新的不是 1 个网站集,而是 15 个网站集。顺序运行会花费太长时间,因此线程将是一个很好的解决方案。
但是我不能一次只打开 15 个线程,我想要一个可配置的值,它将是一次运行的最大线程数。
我期望的是:
- 定义 Max_Threads 变量...
- 在线程池中分配任务(函数)队列,在本例中为 15 个任务或函数调用。
- 线程池然后执行每个线程,但是受打开线程的数量限制(例如 5 个)。
- 一旦线程完成,线程池就会重新使用该线程执行另一项工作,直到所有工作完成。
所以我的问题是:所有这些都构建到 .net 线程中吗?还是我必须手动创建线程管理代码?
编辑:这是一个框架 3.5 项目,很抱歉之前没有提到这一点。
最佳答案
只使用任务,不要考虑线程数。 TPL 将为您完成这一切。
关于C#线程问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7558887/