我想知道是否有一种合理的方法来确定Timers.Timer对象的加载能力?或者,更确切地说,线程功能。有没有人知道使用Timer类处理大量(数百个)线程是否有问题?
编辑:对于工作,我们将旋转一些线程,这些线程将进行阈值检查,并根据达到阈值的人给出分数。它将为每个客户端启动一个线程,并每隔5分钟左右检查一次。这是一项服务,它将安装在服务器上,这就是为什么我使用Timers.Timer而不是Threading.Timer(我还听说Timers.Timer比Threading.Timers更安全)。目前,我将只有大约10个计时器,因为这是我需要处理的全部。我正在询问未来可能的负载。我还使用了这篇文章作为使用哪个计时器的参考:System.Timers.Timer vs System.Threading.Timer
发布于 2013-10-25 21:52:31
有没有人知道使用Timer类处理大量(数百个)线程有没有问题?
您似乎假设每个计时器都会创建一个私有线程。然而,事实并非如此。计时器回调在.NET线程池上执行。因此,创建多个计时器本身并不是问题,但线程池可以处理多少并发工作显然是有限制的。如果所有计时器同时触发,这将影响您。
微软在文章The Managed Thread Pool中提供了一些关于线程池的一般信息。
https://stackoverflow.com/questions/19590998
复制相似问题