对于Windows服务,哪个更好,等待旋转还是计时器?

All*_*ice 4 .net c# sleep waithandle

关于Windows服务计时器的这个问题让我思考:

假设我(并且我)有一个等待WaitHandle的Windows服务,当它被唤醒时,它潜入等待旋转,就像我在流程图中所示

等待旋转图http://www.86th.org/waitspin.jpg

我很好奇,如果使用计时器比等待旋转循环(有时称为旋转等待)更好.老实说,除了我自己的修补之外,我从来没有使用计时器.

我没有任何切换的计划,除非差异很大并且使用Timer的好处是惊人的.但是,我非常感兴趣的是人们对这个项目未来发展的看法.

如果这应该是维基话,请告诉我

Chr*_*her 5

我没有看到你从计时器中获得任何好处.无论如何,在睡眠呼叫时,你基本上都是一个计时器,而且你不是一个带宽占用,因为睡眠会产生时间片.有一个明确的计时器唤醒并调用你只会使代码复杂化.

我不会说你正在进行旋转等待,因为我通常认为旋转等待是一种无法入睡的东西.它只会消耗等待转发信号的所有处理器时间.