编程之美——玩转CPU

    《编程之美》分为4章,每章一个主题:游戏之乐,数字之魅,结构之法,数学之趣。
    第一章:游戏之乐——游戏中碰到的问题。
    第一个游戏,让CPU占有率曲线听你的指挥:我们怎么样让CPU的占有率一直保持在50%呢?
    我看了书上的讲述,把程序改写成Java的,程序如下。可是我发现占有率一直在25%左右,怎么回事??
玩转CPU

我不得其解,只好先放下,继续看后面,我看到后面又问到,如果是多CPU内核,又该如何实现?我突然反应过来,我的PC是双核的。所以就应该是50%x0.5=25%啊,呵呵,那双核CPU的占用率要保持在50%,是不是直接写个死循环就行呢?于是我试了下,的确如此。
玩转CPU2

    问题:当我把程序放到笔记本电脑上运行的时候就出现些问题了。当第一个程序运行是,我发现CPU的占用率是50%,我就觉得很奇怪,难道笔记本电脑是单核的么,但是我的笔记本是双核的啊。于是我又运行第二个程序,死循环运行时,CPU的占有率还是50%。我就很困惑了。为什么会这样呢?
     我设想双核CPU的工作机制应该是这样的:能并发运行两个线程,当一个线程是死循环时,那么CPU的占有率应该是50%,当一个核的使用率是50%时,那么CPU的占用率就应该是25%啊。这在PC机上就符合这个设想。但是在笔记本上运行就不符合这个设想。为什么在笔记本上,两个程序都是50%呢?
    希望有高手能给出解答。

posted on 2008-06-25 13:18  哪热  阅读(422)  评论(0编辑  收藏  举报

导航