Re: Timer Priority
"JoDeGr8" <johnemmatty@gmail.com> wrote in message
news:1183141978.626957.271920@j4g2000prf.googlegroups.com...
What will be the priority of the timer thread created using the
function SetTimer? Does it have a high priority? How can i increase
the priority of the timer thread?
If you want a timer to fire in a background thread, check the docs for
timeSetEvent() and perhaps timeBeginPeriod() and timeEndPeriod(). The docs
are silent on much of the implementation detail - for example they don't say
if all the callbacks for a "periodic" timer fire in the same thread or not -
except to say that the timer always fires in a thread different from the
caller's.
In any case it's way to roll your own timer if you have strong feeling as to
priority and threading model. Just call _beginthreadex() or AfxBeginThread()
in an MFC application and then have a thread procedure something like this
which I have not compiled:
#include <windows.h>
#include <mmystem.h>
unsigned __stdcall TimerThreadProc(void *pv)
{
SetThreadPriority( GetCurrenThread(), SomeGoodPriority);
// timeBeginPeriod(1); // Uncomment for high resolution timer
while ( YourTerminationCondition )
{
Sleep(YourTimerPeriodInMillis);
TimerCallback(Yada, Yada, Yada);
}
// timeEndPeriod(1); // End period only if begun above
return 0;
}
Regards,
Will
www.ivrforbeginners.com