【C++ windows多线程使CPU 100%】

2023-11-09

用于windows 平台的CPU 100% 预警测试程序,c++实现
cpp程序文件名:win32HighCpuTest.cpp

#include <Windows.h>
#include <iostream>

using namespace std;

//定义线程工作函数
DWORD CALLBACK TestFunc1(LPVOID lpParam) {
    while (1)  //死循环使CPU空转
        ;
}

int main() {
    SYSTEM_INFO sysinfo;  // SYSTEM_INFO 结构体用于存放收集的系统配置信息
    GetSystemInfo(&sysinfo);  //获取window配置信息
    DWORD CPUCores = sysinfo.dwNumberOfProcessors; // 从sysinfo中拿到CPU和核心数量,这里获取的核心数不是物理核心数,而是CPU制程的线程数, 比如4核CPU,每单核CPU可并行两线程,那么就是4核8线程,得到的CPUCores数量就是8
	cout << "CPU cores:" << CPUCores << endl;  //打印CPUCores
	
    DWORD nID = 0;  //临时变量用于存放创建的线程ID
    HANDLE *hThreads = new HANDLE[CPUCores]; // new 线程句柄的数组
    
    for (DWORD i = 0; i < CPUCores; i++) {
    	//CreateThread 循环创建线程,句柄存放在hThreads 数组中
        hThreads[i] = CreateThread(NULL, 0, TestFunc1, NULL, 0, &nID);
    }
    WaitForMultipleObjects(2, hThreads, true, INFINITE); //主线程阻塞等待所有线程结束
    cout << "wait over" << endl;  //所有线程结束后才会打印这句(实际运行不会出现这句打印,因为线程工作函数TestFunc1是死循环的永远不会结束哈哈~~~)
    return 0;
}

编译

g++ .\win32HighCpuTest.cpp -W -std=c++11 -o .\win32HighCpuTest.exe
运行:
.\win32HighCpuTest.exe

检查运行效果:

在这里插入图片描述
CPU0~CPU7 全部100%
在这里插入图片描述

CPU 瞬间就拉满了~
#结束
Ctrl + C 结束程序,后CPU又降下来了
在这里插入图片描述
在这里插入图片描述
程序我放在了这里:win32HighCpuTest.exe

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【C++ windows多线程使CPU 100%】 的相关文章

  • 如何在Windows 8上正确使用SCardGetStatusChange?

    智能卡服务在 Windows 8 上的行为有所不同 并且 MSDN 尚未更新其文档 任何人都可以提供有关如何正确调用 SCardGetStatusChange 来监视 Windows 8 上的智能卡操作的代码片段吗 提前致谢 这是我为个人博
  • 如何通过命令行将Flash .fla编译为.swf? [复制]

    这个问题在这里已经有答案了 如何在基于 Windows 的操作系统上通过命令行将 Flash fla 文件编译为 swf 需要安装的命令行工具就可以了 谁能建议我该怎么做 以直接的方式 谢谢 您可以使用JSFL为 Flash IDE 编写脚
  • 将文件夹中的所有文件及其所有子文件夹移动到一个大文件夹中 - windows xp

    我有一个文件夹 c downloads ffme 里面有很多子文件夹 每个子文件夹中都有不同数量的文件 我想将所有这些单独的文件合并到一个大文件夹中 同时将它们从子文件夹中删除 我希望最终得到一个包含大量文件的文件夹 但没有子文件夹 我怎样
  • 串行 I/O 与 Windows/Windows CE 重叠/不重叠

    抱歉 这不是一个大问题 但更多的是帮助那些在这些特定问题上遇到问题的人 我正在解决的问题需要使用串行 I O 但主要在 Windows CE 6 0 下运行 然而 最近有人问我该应用程序是否也可以在 Windows 下运行 所以我开始着手解
  • C++ 使用 Windows 命名管道

    由于某种原因 桅杆和从属装置都失败了 但是我可以找到任何关于它们如何工作的好例子 所以我不确定我哪里出了问题 在 ConnectNamedPipe 之后 主设备永远不会退出 WaitForSingleObject 并且从设备在第一个 boo
  • 为什么 fopen 无法打开已存在的文件?

    我在 Windows XP 上使用 Visual Studio 6 是的 我知道它很旧 构建 维护 C DLL 我遇到了 fopen 无法打开现有文件的问题 它总是返回 NULL 我试过了 通过将 errno 和 doserrno 设置为零
  • 无法加载 JNI 共享库 (JDK)

    当我尝试打开时Eclipse http www eclipse org 弹出对话框指出 无法加载 JNI 共享库 C JDK bin client jvm dll 此后 Eclipse 强制关闭 我想提出以下几点 我检查了这条路径上是否存在
  • Windows批处理文件:将结构转换为单行字符串

    我需要将这个艰巨的任务作为批处理文件来完成 这对于 C 来说不是最困难的 但在 DOS 中是一个地狱 至少对我来说 我需要将结构转换为单个 var 字符串 才能在我的程序中再次将它们转换为该结构 别担心回归 一切都已经完成了 该结构的大小会
  • 使用 sed 更新 xml 属性(Windows + cygwin 和 Linux)?

    我需要使用 sed 命令对 xml 文件进行更新 但我在这方面遇到了麻烦 它需要在 Windows 使用 cygwin 和 Linux 上运行 XML 具有以下元素
  • 仅在单个端口 8080 上转发到本地主机(Windows)可能吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我知道如何在 Windows 上使用 xampp 设置本地网络服务器 我在主机文件 c windows system32 drivers etc ho
  • 如何为 Windows 构建静态 Qt 库并将其与 Qt Creator 一起使用

    我已经下载了以下 Qt 源 http download qt nokia com qt source qt everywhere opensource src 4 7 3 zip http download qt nokia com qt
  • Windows 上的 boot2docker 缺少 apt-get / 包管理器

    我在 boot2docker 中 我不确定我完全理解它 但它似乎是我正在进行的项目所需要的 我已经通过 ssh 登录了 并且尝试对我们的项目进行 make 但是我得到了 make not found 然后我尝试了一个 apt get ins
  • 什么是 SO_SNDBUF 和 SO_RCVBUF

    你能解释一下到底是什么吗SO SNDBUF and SO RCVBUF选项 好的 出于某种原因 操作系统缓冲传出 传入数据 但我想澄清这个主题 他们的角色 通 常 是什么 它们是每个套接字的缓冲区吗 传输层的缓冲区 例如 TCP 缓冲区 和
  • 在 Windows 上查找父进程 ID

    Problem 给定远程 Windows 主机上的进程 ID 和命令行访问权限 如何找到其父进程的 PID Solution 鉴于 Marc B 的回答 我们可以使用 WMIC 命令示例here https learn microsoft
  • 用于推送通知的设备令牌

    我正在实施推送通知服务 我需要创建一个数据库来存储 4 个移动平台的所有设备令牌 我想根据他们的平台 iOS Android BlackBerry WP7 来组织它们 但是有什么方法可以区分平台 这样如果我只想向 Android 用户发送消
  • 如何批量获取子字符串在字符串中的位置

    获取子串的位置 Set str1 This is Test string Set sstr Test 这里我需要获取 Test 8 的位置 谢谢 echo OFF SETLOCAL Set str1 This is Test string
  • Nexus 7 (2013) 和 Win 7 64 - 尽管检查了许多论坛和在线资源,仍无法安装 USB 驱动程序

    我正在尝试设置 Nexus 7 2013 进行调试 但我在安装 USB 驱动程序的步骤中陷入困境 到目前为止 这是我尝试过的 采取的步骤 在 Nexus 7 2013 上打开调试模式 连接设备至 PC 下载 Google USB 驱动程序于
  • Tkinter - 浮动窗口 - 调整大小

    灵感来自this https stackoverflow com a 22424245 13629335问题 我想为我的根窗口编写自己的调整大小函数 但我刚刚注意到我的代码显示了一些性能问题 如果你快速调整它的大小 你会发现窗口没有像我希望
  • 使用 Objective-C 进行 Windows 开发

    最近读了一篇关于 Objective C 的文章 我觉得它是一门相当简洁的语言 具有很多很酷的功能 我无意进行任何 iPhone 开发 但是我了解 GCC 能够编译 Objective C 代码 所以我想知道 Objective C 是 W
  • Docker 警告:无法从守护进程获取默认注册表端点

    在 Windows 10 上 当我调用 docker 命令时 docker pull mongo windowsservercore 我得到以下输出 Warning failed to get default registry endpoi

随机推荐

  • 文心千帆大模型测评分享,效果超出预期

    一 前言 现如今 随着ChatGPT的爆火越来越多的人开始关注人工智能领域了 大家都在尝试使用它来帮助自己在工作上提高效率亦或是解决一些问题 但ChatGPT是有一定的使用门槛的 首先需要我们 科学上网 才能访问 其次GPT4的价格相对来说
  • 2.关于剪枝算法的分类和论文整理

    第二篇 关于剪枝算法的分类 1 非结构化剪枝 1 1 非结构化的weights剪枝 2 结构化剪枝 2 1 Filter Channel Pruning 2 2 Neuron wise pruning 2 3 Group wise Prun
  • Ag-grid属性整理

    import ClickableStatusBarComponent from component clickableStatusBarComponent import HaearCustomComponent from component
  • 数字图像处理之二维码图像提取算法(十)

    这里来说明一下做这次的二维码提取算法用到的函数 最后再给出完整的代码 进行图像的二值化 这里可以使用opencv2里的函数threshold 当然在opencv里也有cvThreshold函数 这个函数可以具体参考 http blog cs
  • 电影院里一个男孩对他女友所做的全过程

    电影院里一个男孩对他女友所做的全过程 周末上电影院看电影 热得不行 提前入场好凉快凉快 坐定 见一对青年男女挽手走了进来 男孩大概二十三四岁模样 肩上挎着他女友的背包 手里拿着一包零食还有可乐 男孩轻声征询女孩究竟坐哪儿合适 女孩没说话 努
  • Hibernate 一对多 多对一 实例 及一些 问题(1)插入及查询

    Clazz java package com wonders task sample bo import java util Set import javax persistence CascadeType import javax per
  • [安全开发]日志敏感信息检测-1-身份证

    前言 身份证号码格式 正则提取 地址码校验 校验码校验 优化思考 前言 防止敏感信息泄漏 保护用户和企业信息隐私 是企业安全中重要的环节 通过检测日志中的敏感信息 能够 排查潜在的泄漏敏感信息的系统和接口 防止被黑产恶意利用 盗取用户敏感信
  • vuex动态路由

    import router asyncRoutes constantRoutes from router import getRouters from api menu import Layout from layout index imp
  • 联想票务系统服务器,联想中国(Lenovo China)_服务频道_服务政策

    Lenovo ThinkServer Partner Pack for Microsoft System Center 重要通知 ThinkServer RD350 RD450 RD550 RD650 TD350 中Lenovo Think
  • APP开发如何批量生成不同尺寸的图标?

    在我们开发APP的时候 我们使用到大量的不同尺寸的APPLogo的图片 如下图 通常 我们的做法是和设计师沟通 让他们切出这儿所以的图片 然后我们一个一个图片放在对应的位置 这样处理的话 我们比较容易出错 比如说 图片的格式 苹果对图片的格
  • 4-数据结构-顺序表的查找

    说明 顺序表的查找 分为按照位置查找 返回对应值和按照值查找 返回该值位置 思路 getlist sqlist l int k 为按位查找 返回具体数值 locatelist sqlist l int k 按照值 去查找位置 因为顺序表都是
  • 吐血整理,性能测试-Jmeter分布式压测实战(超细详解)

    目录 导读 前言 一 Python编程入门到精通 二 接口自动化项目实战 三 Web自动化项目实战 四 App自动化项目实战 五 一线大厂简历 六 测试开发DevOps体系 七 常用自动化测试工具 八 JMeter性能测试 九 总结 尾部小
  • wiringPi引脚编号方式

    树莓派引出的20 2排针引脚 引脚定义使用gpio readall命令查看 如下 可以看到wiringpi库有三种引脚编号方式 分别为 BCM编号方式 就是使用芯片的GPIO引脚编号 wiringpi库编号方式 使用wiringpi库自己规
  • LR(1)项目集族的构造:如何确定前向搜索符(新版)

    旧版链接 https blog csdn net hhhhhhhhhhkkkkkkkkkk article details 19990287 按照这个标题搜进来的各位是不是以为这也是和课本一样的内容呢 其实这是我看了两天课本才理解出来的内容
  • C++ Primer笔记——查找算法

    目录 一 简单查找 find first last val find if find if not count count if all of any of none of 二 重复值的查找 adjacent find first end
  • Centos8 重新安装yum

    手残卸载了cnetos8自带的yum命令 然后各种搜索重新安装 有centos7下重新安装的 也有dnf重新安装yum的 结果都不好用 一 准备工作 重新安装yum前 请自行卸载yum相关参与包 卸载python rpm qa grep p
  • umi中操作mock中的数据实现搜索操作

    我们定义两个属性 分别是我们的原始数据和渲染的数据 const book setbook useState 原始数据 const sear setSear useState 用于渲染的数据 input搜索框绑定onChange事件 通过e
  • dedecms自定义内容模型怎么采集

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 在用织梦cms系统进行网站开发时 经常会碰到各种各样复杂的需求 因此我们需要用到dedecms提供的自定义内容模型功能去添加自定义内容模型来满足需求 那么dedecms自定
  • 输入第一个字符串A,输入第二个字符串B,统计B在A中出现的次数 abcabcabd abc

    public class strCount public static void main String args 定义字符串 String str abc String ss abcabcabc 定义返回的次数 int count 0 f
  • 【C++ windows多线程使CPU 100%】

    用于windows 平台的CPU 100 预警测试程序 c 实现 cpp程序文件名 win32HighCpuTest cpp include