经典指数          
原因
2395
浏览数
0
收藏数
 

读取并处理一个文件中的记录,每条记录处理会产生一个对应的结果,不同记录的处理过程之间互不依赖。结果输出到另外一个文件中。某程序员实现了该处理程序的单线程版本,运行时发现CPU使用率达到80%。 (1)为何CPU使用率不是100%? (2)假定程序运行的机器的核数在4到16不等,如何设计程序,使该处理程序运行速度最快? (3)在一个n核机器上,速度最快是原来程序的多少倍?

     举报   纠错  
 
切换
1 个答案
1.cpu等待i/o操作 2.将程序设置为多线程,计算部分与i/o操作部分放在不同线程中,将不需要同步的操作放在不同线程中,重复利用cpu的 3.5倍
 
切换
撰写答案