Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

Hans and I had small discussion recently about the subject and I'm curious how it is really implemented.

See initial talking in the comments here: Are c# timers naturally multithreaded?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
810 views
Welcome To Ask or Share your Answers For Others

1 Answer

Staring at the .Net 4.0 reference source, System.Timers.Timer seems to use a System.Threading.Timer to handle the actual implementation details. The latter generates timers by calling AddTimerNative. AddTimerNative is an internal call.

Googling AddTimerNative lead to a lot of interesting results, including Willy Denoyette's comment, where he states that it calls CreateTimerQueueTimer.

That page states that "Callback functions are queued to the thread pool. "


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...