Coding⏱️ 2 min read📅 2026-05-31

How to Fix: System.Threading.Timer in C# it seems to be not working. It runs very fast every 3 second

The issue with the timer is that it's set to fire every 10 seconds, but you want it to fire every minute. To fix this, change the interval from 1000*10 (which is equivalent to 10 seconds) to 1000*60 (which is equivalent to 1 minute). Also, make sure to reset the timer after the OnCallBack method finishes executing.

Quick Answer: Change the interval to 1000*60 and use a boolean flag to track whether the timer is running or not.

The issue you're facing with your System.Threading.Timer in C# is due to the timer's callback method being executed too frequently. The reason for this is that the timer's period (in milliseconds) is set to a value that is less than the time it takes for the callback method to execute.

🛑 Root Causes of the Error

  • The timer's period is set to 10 milliseconds, which is too short for your callback method to execute.

✅ Best Solutions to Fix It

Method 1: Adjusting the Timer Period

  1. Step 1: Increase the timer's period to a value that is greater than or equal to the time it takes for your callback method to execute.

Method 2: Using a Different Timer Implementation

  1. Step 1: Consider using a different timer implementation, such as System.Timers.Timer, which allows for more control over the timer's period and behavior.

💡 Conclusion

By adjusting the timer's period or using a different timer implementation, you should be able to fix the issue and achieve the desired behavior for your System.Threading.Timer.

Did this fix your problem?

If not, try searching for specific error codes.

🔍 Search Error Database

❓ Frequently Asked Questions