我们的语音平台程序,需要运行在大线路并发环境,要求有很高的性能。
因为是多线程程序,在几百上千个线程同时加载脚本的时候,千军万马过独木桥,往往导致极大的CPU开销,比较好的办法就是在每个加载线程内对CPU占用进行判断,如果占用率小于某个值,就继续运行,否则就Sleep(),等候CPU占用的下降。
win32 API并没有提供直接得到CPU占用率的函数,但提供GetProcessTimes()函数可以得到进程占用的CPU时间,通过和实际时间的流逝相比,可以得到某进程占用CPU的比率。阅读全文>
发表于 @ 2008年05月16日 10:21:00|评论(loading...)|编辑|收藏