我的现有c#应用程序更新一个SharePoint网站集合。现在我被要求让我的c#应用程序更新不是1个而是15个网站集合。串行运行将花费太长时间,因此线程会是一个好的解决方案。
然而,我不能一次打开15个线程,我想要一个可配置的值,它将是同时运行的最大线程数。
我期望的是:
定义Max_Threads变量...
在线程池中分配一组任务(函数),在这种情况下为15个任务或函数调用。
然后线程池执行每个线程,但受限于打开的线程数量(例如5个)。
一旦一个线程完成,线程池就重用该线程来完成另一个工作项,直到所有工作完成。
所以我的问题是:所有这些都内置在.net线程中吗?还是我必须手动创建线程管理代码?
编辑: 这是一个框架3.5项目,很抱歉之前没有提及。
然而,我不能一次打开15个线程,我想要一个可配置的值,它将是同时运行的最大线程数。
我期望的是:
定义Max_Threads变量...
在线程池中分配一组任务(函数),在这种情况下为15个任务或函数调用。
然后线程池执行每个线程,但受限于打开的线程数量(例如5个)。
一旦一个线程完成,线程池就重用该线程来完成另一个工作项,直到所有工作完成。
所以我的问题是:所有这些都内置在.net线程中吗?还是我必须手动创建线程管理代码?
编辑: 这是一个框架3.5项目,很抱歉之前没有提及。