У меня есть функция, которую я хочу вызывать каждые х секунд, но я хочу, чтобы она была потокобезопасной.
Могу ли я настроить это поведение, когда создаю таймер? (Я не против, какой .NET-таймер я использую, я просто хочу, чтобы он был потокобезопасным).
Я знаю, что могу реализовать блокировки внутри моей функции обратного вызова, но я думаю, что было бы более элегантно, если бы оно находилось на уровне таймера.
Моя функция обратного вызова и среда не связаны с пользовательским интерфейсом.
[Изменить 1] Я просто не хочу, чтобы в моей функции обратного вызова было более одного потока.
[Редактировать 2] Я хочу сохранить блокировку внутри уровня таймера, потому что таймер отвечает за вызов моего обратного вызова, и здесь возникает особая ситуация, когда я не хочу вызывать свою функцию обратного вызова. Поэтому я думаю, что , когда звонить - это таймер.