Я работаю над механизмом тайм-аута запроса. Мой первоначальный подход состоял в том, чтобы создать один System.Threading.Timer для каждого запроса. Количество одновременных запросов может достигать тысяч.
Мне интересно, должен ли я вместо этого создать TimeoutScheduler, который будет внутренне использовать только один таймер вместо одного для каждого запроса.
Может ли кто-нибудь, кто знает внутренности System.Threading.Timer, дать мне некоторое представление о том, будет ли TimeoutScheduler хорошей идеей или он только попытается оптимизировать что-то уже достаточно эффективное.
Примечание. Для моего сценария точность таймера не важна.
(Я провел тест производительности с помощью System.Threading.Timer с множеством одновременных таймеров. Казалось, он хорошо масштабируется, но я не уверен, что это окажет нежелательное давление на реальную систему)