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;
}
相关推荐
古城小栈4 分钟前
Rust 学习路线,供初学者参考
开发语言·rust
喵了几个咪8 分钟前
GoWind CMS 拆解:给 NL2SQL 上四把锁——智能问数的安全边界
开发语言·后端·安全·微服务·golang·gowind
多弗朗皮卡丘10 分钟前
C++的类型转换
开发语言·c++
FLJwu27 分钟前
运动相机图像传感器选型实战|第二篇:参数看着一模一样,为什么骑行录像疯狂果冻、拖影翻车?
android·c语言·开发语言·数码相机·运动相机·oem 量产
驭渊的小故事29 分钟前
从 JVM 底层看泛型:泛型擦除、Signature 属性与 Super Type Token 模式
java·开发语言·jvm
Escalating_xu32 分钟前
【C语言项目实战】贪吃蛇(下):移动、碰撞与计分,完成一局可玩的游戏
c语言·开发语言·游戏
火22538 分钟前
# C++ 微服务即时通讯系统(三):网关设计——HTTP 请求、Session 鉴权与 WebSocket 通知上一篇
c++·http·微服务
qq_401700411 小时前
Qt Modbus 源码剖析:从 QModbusClient 到工业级通信框架
开发语言·qt·系统架构
星夜离尘561 小时前
MATLAB 角度解缠遇到丢样:先分段,再说明圈数为什么不可恢复
开发语言·matlab
我命由我123451 小时前
6-2.Python 异常处理 - 异常捕获(捕获指定异常、常见异常类型、异常信息)
java·运维·开发语言·python·http·https·java-ee