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;
}
相关推荐
行稳方能走远1 分钟前
Android C++ 学习笔记
android·c++
运维行者_4 分钟前
网络流量分析入门:从流量监控与 netflow 看懂核心作用
运维·开发语言·网络·云原生·容器·kubernetes·php
豆豆10 分钟前
支持企业/政府/高校网站站群的cms内容管理系统有哪些
java·开发语言·cms·低代码平台·工单系统·sso单点登录·站群cms
Halo_tjn15 分钟前
Java Set集合知识点
java·开发语言·数据结构·windows·算法
郝学胜-神的一滴16 分钟前
Linux多线程编程:深入理解pthread_cancel函数
linux·服务器·开发语言·c++·软件工程
廋到被风吹走17 分钟前
【Java】JPA
java·开发语言·oracle
Trouvaille ~19 分钟前
【C++篇】让错误被温柔对待(下):异常高级特性与最佳实践
运维·开发语言·c++·异常·raii·编程实践·基础入门
没有bug.的程序员19 分钟前
服务治理体系:从零到一的全景落地指南
java·开发语言·数据库·微服务·架构
kylezhao201921 分钟前
C#上位机开发数据持久化:xml数据导入导出
xml·开发语言·c#
2501_9098008125 分钟前
Java多线程
java·开发语言·多线程