I have been reading about the kernel using timers for thread synchronization. I haven’t been able to find a decent explanation on how thread sync with timers works, I wondered if anyone can help me?
MSDN: Kernel Dispatcher objects
DPCs and timer objects <– here it talks about ‘synchronization timers’
Also reading book Windows Internals 5 by Microsoft Press where it mentions them.
EDIT: My question is: How do 2 or more threads get synchronized using a timer in the kernel?
You can wait on a timer just like events or other objects. Let us say you want two threads to do something when a timer expires, you set up a notification timer and make both threads wait on the same timer by using KeWaitForSingleObject