1

我想知道是否有合理的方法来确定 Timers.Timer 对象的负载能力?或者,更确切地说,线程功能。有人知道使用 Timer 类启动大量(数百个)线程是否有任何问题?

编辑:为了工作,我们将启动一些线程,这些线程将进行阈值检查并根据达到阈值的人给出分数。它会为每个客户端启动一个线程,并且每 5 分钟左右检查一次。这是一项服务,它将安装在服务器上,因此我使用 Timers.Timer 而不是 Threading.Timer(因为我还听说 Timers.Timer 比 Threading.Timers 更具线程安全性)。目前,我最多只能有 10 个计时器,因为这就是我需要处理的全部内容。我要求可能的未来负载。还使用这篇文章作为使用哪个计时器的参考:System.Timers.Timer vs System.Threading.Timer

4

1 回答 1

3

有人知道使用 Timer 类启动大量(数百个)线程是否有任何问题?

您似乎假设每个计时器都会创建一个私有线程。然而,事实并非如此。计时器回调在 .NET 线程池上执行。因此,创建多个计时器本身不是问题,但线程池可以处理多少并发工作显然是有限的。如果所有计时器同时触发,这将影响您。

Microsoft 在文章托管线程池中提供了有关线程池的一些一般信息。

于 2013-10-25T13:52:31.407 回答