写一个程序,让控制cpu利用率在20%左右
思路很简单:每个循环控制sleep的时间占比
cpp
#include <iostream>
#include <chrono>
#include <unistd.h>
int main() {
int ratio = 20;
int base_time = 1000;
int sleeptime = base_time * (100-ratio);
int runtime = base_time * ratio;
while(true) {
auto start = std::chrono::high_resolution_clock::now();
while(std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::high_resolution_clock::now() - start).count() < runtime) {}
usleep(sleeptime);
}
return 0;
}