定时器的实现机制是什么,是不是等同于线程?该如何解决

定时器的实现机制是什么,是不是等同于线程?
看了一些帖子,查了一些资料,
有的说 "定时器本身就是一个线程 ",
有的说 "定时器就是定时器,线程是线程,定时器不是线程 ".
真是被弄晕了,到底哪种说法正确.
如果 "定时器本身就是一个线程 "说法成立,那为什么定时器消息里的操作会阻塞主线程的运行,ontimer消息函数必须返回,主线程才能继续执行。

------解决方案--------------------
setEvent触发的定时器等同于开了线程,一个定时器一个
MFC的SetTimer是统一管理的,可认为是所有定时器只有一个线程
------解决方案--------------------
这些 说法本身都有他们的道理,也都有他们的局限性,自己写不同的定时器体会吧。
至于主线程阻塞的问题,建议开另一个运行定时器,不一定非要再主线程
------解决方案--------------------
定时器等同于线程,但是ontimer处理函数却不是一个线程,定时器每个指定时间会向窗口发送WM_TIMER消息,窗口收到WM_TIMER消息后会调用ontimer处理函数,ontimer处理函数是做为窗口主线程的一部分运行的,所以会堵塞主线程。
------解决方案--------------------
能用定时器还是用定时器吧,呵呵,简单
------解决方案--------------------
定时器是windows系统的线程。
------解决方案--------------------
定时器是一个定时中断,系统在定时中断中查询是否有需要触发的定时器任务,如果存在定时器任务,则将对应的信号设置为通知状态
------解决方案--------------------
还是不要将定时器和线程混为一谈的好,定时器消息的产生、发送是系统的事情,所以它不会被堵塞,但是消息处理程序或是定时器的回调函数却是你主线程的一部分,并不是一个单独的线程所以一定会被堵塞,在这里面并没有和线程有关的东西,即使是定时器的产生也不能认为等同于一个线程。