C#线程问题

标签 c# multithreading

我现有的 C# 应用程序更新了一个共享点网站集。现在我的任务是让我的 c# 应用程序更新的不是 1 个网站集,而是 15 个网站集。顺序运行会花费太长时间,因此线程将是一个很好的解决方案。

但是我不能一次只打开 15 个线程,我想要一个可配置的值,它将是一次运行的最大线程数。

我期望的是:

  • 定义 Max_Threads 变量...
  • 在线程池中分配任务(函数)队列,在本例中为 15 个任务或函数调用。
  • 线程池然后执行每个线程,但是受打开线程的数量限制(例如 5 个)。
  • 一旦线程完成,线程池就会重新使用该线程执行另一项工作,直到所有工作完成。

所以我的问题是:所有这些都构建到 .net 线程中吗?还是我必须手动创建线程管理代码?

编辑:这是一个框架 3.5 项目,很抱歉之前没有提到这一点。

最佳答案

只使用任务,不要考虑线程数。 TPL 将为您完成这一切。

关于C#线程问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7558887/

相关文章:

c# confluence.kafka 无法使用 Protobuf-net 反序列化 protobuf 消息

c# - 我可以访问内部类中的外部类对象吗

Java volatile 关键字 - 为什么此代码终止

c# - 访问字典中对象的属性

c# - 如何将 IObservable<IObservable<T>> 转换为 IObservable<T>?

Java - 使用 Executors.newFixedThreadPool 运行的线程永远不会完成

c# - 在另一个任务中启动任务会重复我的 WebRequest

java - 如何为应用内计费创建单独的线程

multithreading - Lwiit J2ME 中的等待屏幕

c# - DataGrid ButtonColumns 的空元素 ID