这是第一题
初次拿到这个题我第一反应是 首先要能写个函数让cpu占用为某个小值 然后以此为单位进行操作 比如1% 但是实际操作过之后发现。。。。很傻很天真 cpu同时处理着操作系统中的很多任务 而且由于多个线程的存在 你想操作一个核占用50%难于登天
尝试过书上的前两个解法 无奈放弃 实在没头绪
第一个解法是最容易想到的 根据cpu的频率 然后算出执行一行代码所需的时间再让cpu Sleep一段时间 以此达到我们的目的 实际上 这样操作愚蠢之极 根本达不到效果
第二个解法是使用GetTickCount()获取系统当前时间 然后存起来 让cpu执行一段时间的任务 这个执行时间和后续的休眠时间要一样长 这并不难实现
好吧 还是事与愿违
第三个解法使用的是C#的一个库 直接获取CPU的使用参数
但是。。我不会C# 所以。。暂时作罢
网友评论