Это может быть не совсем вопрос, не связанный с .NET. Я пишу приложение .NET для управления некоторыми гаджетами. Я отправляю команды на гаджет периодически (скажем, каждые 500 миллисекунд). Как только я отправляю команду, я запускаю таймер. (класс секундомера .NET)
Если гаджет не отвечает в течение, скажем, 10 миллисекунд, я снова отправляю команду. Если он отвечает, я продолжаю следить за состоянием гаджета, отправляя дополнительные команды и обрабатывая ответы.
У меня есть 2 или 3 таймера секундомера, работающих параллельно, чтобы делать другие вещи для этого гаджета.
Теперь я хочу отслеживать и контролировать потенциально тысячи этих гаджетов (может быть до 5000). Если я создам один объект для гаджета, я буду просматривать от 10 000 до 15 000 объектов секундомера, работающих параллельно. Я не уверен, как работают секундомеры, но я предполагаю, что они полагаются на аппаратный таймер или что-то в этом роде, чтобы отслеживать время.
У меня вопрос, может ли Windows обрабатывать такое большое количество секундомеров одновременно?