+ -
当前位置:首页 → 问答吧 → 请问如何解决延时程序中的CPU占用过高问题

请问如何解决延时程序中的CPU占用过高问题

时间:2010-12-02

来源:互联网

比如有这么个程序
format MZ
entry codesg:_start
segment codesg
  _start:
  show_time:;显示当前系统时间部分
   
  ;jmp short show_time ;用跳转来实现时间的每秒变化
   
这样写的很小的一个程序CPU资源占用率一般在50%左右
请问有什么办法可以解决这个问题
既周期性地显示时间 又资源占用不高?

ps:google也百度过 如果时钟周期可以解决 怎么实现时钟周期?

作者: Rocky_   发布时间: 2010-12-02

占用 50%?cpu 是双核的吧?jmp 指令前加个 hlt 指令试试?不过,hlt 属特权指令,在纯 dos 下才有平息 cpu 的效果,xp 的命令行窗口也不行。dos16 类的程序,在 xp 环境下,不大好解决这个问题吧,因为 dos 没有这方面的机制。dos 的程序往往都是采用轮询模式,会占尽 cpu 资源的。

作者: zara   发布时间: 2010-12-02