C++实现一个简单的控制cpu利用率的程序

写一个程序,让控制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;
}
相关推荐
不正经学生28 分钟前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
门思科技38 分钟前
LoRaWAN 设备类别:Class A、B、C 对比与选型指南
c语言·开发语言·php
恋恋西风3 小时前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
Brilliantwxx3 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
BizzZ_4 小时前
C++(22)——类型转换和IO流
开发语言·c++
小范同学_4 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
geovindu5 小时前
CSharp: 万年历
开发语言·后端·c#·.net
我找到地球的支点啦5 小时前
Matlab系列(009) 一CRC循环冗余校验详解
开发语言·数据结构·算法·matlab·信息与通信
予昊5 小时前
从零实现“在线五子棋对战“:WebSocket 实时通信 + 段位匹配
java·开发语言·网络·websocket
weixin_461408586 小时前
Mybatis-flex小记
java·开发语言·mybatis