Y ywj1997 Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-03 #1 本人造了一个不断循环运行的程序,程序过程对数据库的读取和提交数据都比较频繁,打开windows资源管理器时,会看到该程序在处理数据的时候占用的CPU资源比较高,60%-100%间浮动,有没有办法降低一下该程序对CPU的使用率?
本人造了一个不断循环运行的程序,程序过程对数据库的读取和提交数据都比较频繁,打开windows资源管理器时,会看到该程序在处理数据的时候占用的CPU资源比较高,60%-100%间浮动,有没有办法降低一下该程序对CPU的使用率?
V vvyang Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-03 #2 不断循环的程序多用于实时控制,因为是独占模式,无所谓;如果是一般程序或游戏,还是用定时器好...
B bahamut8348 Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-03 #3 这种老问题,LZ应该先搜索一下 有几种方法: 一、用线程 二、定时器 三、Application的ProcessMessages方法
U ufo Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-04 #8 sleep可以有效减少cpu占用的。 程序运行到sleep时,表示放弃剩余的时间片,并转交cpu控制权。 但要注意,楼主这种情况不要设置sleep参数为零,这样很可能会被系统再次调度。 设置个 sleep(10); 效果就有了。 另外,长期死循环的处理方式有待改进。
sleep可以有效减少cpu占用的。 程序运行到sleep时,表示放弃剩余的时间片,并转交cpu控制权。 但要注意,楼主这种情况不要设置sleep参数为零,这样很可能会被系统再次调度。 设置个 sleep(10); 效果就有了。 另外,长期死循环的处理方式有待改进。
U ufo Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-04 #9 引用“lxw5214, 时间:2008-8-4 13:55:21, ID:3912084 用线程最有效” 如果是深度循环,建立新线程cpu还是100%的。 线程内还是要采用其他方法来调度cpu才行
Z zhengrong117 Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-04 #10 顶sleep,在线程里面也要sleep最好
K kinneng Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-05 #11 优化算法,减少读写数据库,做到真正减少对CPU的使用,也可以减少读写硬盘。