I have an application that needs to have code executed at very precise intervals. For this, I also need the Windows Scheduler permission to increase to 1 ms through timeBeginPeriod .
For this, I have a native C ++ dll that processes all critical time points through callbacks that arise from TimerQueueTimer with an interval of 1 ms (all native code).
The application itself is a .NET application (C #, therefore pure CLR). The native DLL uses buffering, so C # code itself should not be time critical until it receives some runtime every 50 ms or so.
When the garbage collector strikes, will it also stop or delay the execution of any timer callbacks in my program? (In other words: the non-determinism of a .NET program even extends to its own code fragments used by it?) I did not find the answer to this exact question. A link to the MSDN documentation will be most encouraging.
I am using .NET 4.0
source share