【问题标题】:Thread vs ThreadPool - .Net 2.0线程与线程池 - .Net 2.0
【发布时间】:2010-04-20 13:33:54
【问题描述】:

我无法理解 Thread 与 ThreadPool 之间的区别。考虑一下我必须使用线程操作 50,000 条记录。

如果是线程,我需要预先定义线程数或每个线程的记录数。它们中的任何一个都必须保持不变。

在线程池的情况下,理论上我们不需要设置它们中的任何一个。但实际上我们需要分配每个线程的记录数,因为如果输入的记录数很大,线程数可能会变得非常大。

对此有何见解?

【问题讨论】:

  • stackoverflow.com/questions/230003/thread-vs-threadpool 的可能重复项(我很惊讶这没有显示为顶部的“相关”项目 - 还有几个类似的问题)
  • 对不起,我的错。我很快就浏览了相关项目,因为我没有注意到它。谢谢你的评论。

标签: .net multithreading threadpool


【解决方案1】:

这是一个关于线程和线程池的完整处理,它将回答您的问题。包括何时使用一个与另一个。

http://www.yoda.arachsys.com/csharp/threads/

【讨论】:

    【解决方案2】:

    创建和销毁线程的成本很高。线程池通过为您维护打开的线程来解决这个问题。当池中的线程完成其工作时,该线程将返回到池中而不是被销毁。然后当你必须做更多的工作时,已经打开的线程会从池中取出。这样效率更高。

    【讨论】:

      猜你喜欢
      • 2010-09-18
      • 1970-01-01
      • 1970-01-01
      • 2021-02-20
      • 2010-12-22
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      • 2012-09-03
      相关资源
      最近更新 更多