【发布时间】:2014-07-03 17:53:24
【问题描述】:
所以要提供尽可能多的信息: 我已经设置了一个在前台线程上运行的异步 TCP 服务器,该线程处理接受客户端到服务器以及在接受客户端时将它们分配给线程。目前,我已经设置了一个简单的 lambda 来为客户端分配一个线程池中的线程。以前我为每个客户端使用一个线程,而不是将客户端分配给 ThreadPool。但是,有人告诉我,当您拥有数百个线程时,为每个客户端创建一个线程在 RAM/CPU 上是有害的。
这让我想知道:我应该通过 ThreadPool.SetMaxThreads 和 ThreadPool.SetMinThreads 分配“workerThreads”和“completionPortThreads”的最大/最小数量,以支持我运行的“n”个客户端异步操作?
【问题讨论】:
标签: c# multithreading tcp threadpool