|
原帖由 阿摩 于 2008-12-29 21:52 发表 ![]()
如果4核设2线程占75%,那说明程序的发射线程可以优化.我不清楚你的发射线程的同步机制是怎么样的,根据我的经验,一般情况下,加个sleep(1),该线程的CPU占用率一般都可以降到接近0%.
刚刚测试了一下, 用Sleep(1)确实将发射线程的占用率降低到接近0%, 很感谢哦:)
不过这里还有一个问题, 因为Sleep(1)就意味着需要等待1毫秒才能重新检查当前线程的情况.
那么从目前的情况看, 现在的CPU当然都不足以在1ms内跑完一个线程, 但却还是存在每个轮询会牺牲最多1ms(无限接近)的可能, 不过这个还是会比我的方法好. 只有当以后CPU速度快到一定地步的时候, 1ms才会有损失.
另外有一个问题, 就是采用这种方法后的成绩和1.5倍的方式并没有什么差异, 这还是因为操作系统的原因?
-----------------------------------------
多次测试后, 发现是有提升的, 大约0.5-1%.
[ 本帖最后由 japhsoncross 于 2008-12-29 22:19 编辑 ] |
|