让CPU画出图形(其实很简单的)

2023-11-07

本例子是当初微软的一个题目,希望windows任务管理器的CPU的占有率,是一个正旋曲线。

如果是你,你会如何解决这个问题呢?

先上图吧,由于cpu要处理其他电脑程序,只能画出来大概的模样。

其实我当时想这个问题时候,是不是考虑对cpu进行操作,然后发现,这也太难了吧,后来使用了winApi 函数,

便可以很快的写出这样的效果:

不多说直接上代码:

#include<iostream>
#include <windows.h>
#include <stdlib.h>
#include <math.h>
using namespace std;

const double SPLIT = 0.1;  //分离
const int COUNT = 200;
const double PI = 3.1415926;
const int INTERVAL = 300;  //间隔

int main()
{
	DWORD busySpan[COUNT]; //忙碌
	DWORD idleSpan[COUNT]; //闲置

	int half = INTERVAL / 2;
	double radian = 0.0;
	for (int i =0;i<COUNT;i++)
	{
		busySpan[i] = (DWORD)(half + sin(PI* radian)* half);
		idleSpan[i] = INTERVAL - busySpan[i];
		radian += SPLIT;
	}
	DWORD startTime = 0;
	int j = 0;
	while (true)
	{
		j = j%COUNT;
		startTime = GetTickCount(); //获取当前电脑运行的时间
		while ((GetTickCount()- startTime)<= busySpan[j])
		{
			;
		}
		Sleep(idleSpan[j]); //休息时间
		j++;
	}
    return 0;
}

没错,就是这几行代码,其实只是利用程序运行忙碌 与 闲置 的点 忙碌的时候,进入到死循环,空闲的时候,采用sleep

这样就达成了效果。

那么以此类推,如果你想让你的cpu画出其他图形,该如何画呢。

开动脑筋吧(*^▽^*)!

参考资料:

编程之美 , 这本书很有趣,希望大家可以看看。

 

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

让CPU画出图形(其实很简单的) 的相关文章

  • TCP协议详细总结

    计网分层结构 考虑最简单的情况 两台主机之间的通信 这个时候只需要一条网线把两者连起来 规定好彼此的硬件接口 如都用USB 电压10v 频率2 4GHz等 这一层就是物理层 这些规定就是物理层协议 我们当然不满足于只有两台电脑连接 因此我们

随机推荐

  • 数字化转型的五项关键驱动力

    在人工智能进入各个行业领域掀起涟漪的时代 企业更需要积极变革 每年几次的Forrester数字化转型高峰论坛会将全球数字高管和Forrester分析师汇聚一堂 一起探讨数字化演进的现状 我很有幸被邀请作为嘉宾 参与了五月初在芝加哥举行的活动
  • PSO最佳适应度收敛曲线

    第一层模型 确定每项作业的运输路线 和运输线路上每个节点的代理人和运输方式 每项作业根据时间 始终点约束构建节点 运输方式虚拟网络图 根据最短路径原则形成运输路线和运输方式选择的初始方案 PSO 根据节点间价格折扣不同和代理人运输能力不同进
  • Python中经常会出现ModuleNotFoundError错误,这是导入模块时未正确安装或路径错误所致

    Python中经常会出现ModuleNotFoundError错误 这是导入模块时未正确安装或路径错误所致 这个错误的解决方案有很多种 本篇文章将为大家提供一种解决 No module named torch six 错误的方法 当你运行P
  • 全栈必知系列之网络安全篇

    网络安全对前端童鞋来说大多数时候都是听其有之 闻之则无 毕竟在现如今前端如火如荼的时代 大多数东西日益成熟 开箱即用 云服务 框架等已经帮我们做了安全方面的防范 不需要我们去太过于关心前端网络安全 作为一个前端爱好者 最近温习一下这部分知识
  • python之base64编码解码

    Python 2 7 16 default Dec 13 2019 18 00 32 GCC 4 2 1 Compatible Apple LLVM 11 0 0 clang 1100 0 32 4 macos10 15 objc s on
  • 排序算法时间复杂度、空间复杂度、稳定性比较

    排序算法分类 排序大的分类可以分为两种 内排序和外排序 放在内存的称为内排序 需要使用外存的称为外排序 排序算法的时间复杂度和空间复杂度 排序算法 平均时间复杂度 最坏时间复杂度 最好时间复杂度 空间复杂度 稳定性 冒泡排序 O n O n
  • python斐波那契数列前20项_Python每日一练之实现斐波那契数列

    概述 今天主要分享下怎么用Python实现斐波那契数列 大家有空可以玩一下 需求 用Python脚本实现斐波那契数列 思路 斐波那契数列 也称兔子数列 是指1 1 2 3 5 8 13 21 34 55 89 144 这样一个数列 在这个数
  • matlab求长径比,基于数值模拟的气膜孔冷却效率经验公式的修正

    1 引言 燃气轮机叶片冷却的基本方式主要分为内部冷却与外部冷却 而外部冷却中气膜冷却具有明显优势和较强应用前景 是一种广泛采用的冷却技术 气膜冷却的原理如图1所示 通过在高温部件表面开设槽或者小孔 使冷却气体以射流的方式注入到主流高温燃气中
  • 如何使用ChatGPT写论文?

    使用ChatGPT写论文详细操作步骤 说明 ChatGPT是一款ai产品 尽管它非常强大 对我们来说本质上也仅仅是一个辅助工具 切勿让AI完全取代我们的思考能力 目前的ChatGPT写论文还不能一步到位 只能通过一些技巧来完成整篇论文 使用
  • 10个python入门小游戏,零基础打通关,就能掌握编程基础

    不会python就不能用python开发入门级的小游戏 当然不是 我收集了十个python入门小游戏的源码和教程 并且即使你没有python基础 只要跟着这十个小游戏的开发详细教程去做 以及有了全部的源码 那就能自己开发出这样十个pytho
  • andriod build system

    1 入口 build core main mk 2 build core base rules mk 3 AndriodProducts mk 在原生的bulid system里面会 吧所有的改名字的 makefile都 inlucde进去
  • 云服务器被攻击了,怎么处理比较合适,你的服务器在发生什么

    云服务器遭受攻击时可能会出现以下问题 服务器瘫痪 攻击者可能会使用分布式拒绝服务 DDoS 攻击来使服务器无法响应请求 从而导致网站或应用程序无法正常运行 数据泄露 攻击者可能会窃取服务器上的敏感数据 例如用户名 密码或个人信息 服务器被入
  • 怎么使用Groovy+Spock做单元测试?

    1 背景 平时我们写代码 免不了要进行一些测试 如果没有使用单元测试 对于简单的程序 我们可以写一个main方法 调试查看指定的方法是否符合预期 对于一个服务系统 我们可以使用PostMan等工具来模拟一下真实请求 查看输入输出是否符合预期
  • adb命令卸载(系统app)遇到:Failure [DELETE_FAILED_DEVICE_POLICY_MANAGER]

    普通卸载 所有软件的包名 adb shell pm list packages 卸载命令 adb uninstall 包名 Failure DELETE FAILED INTERNAL ERROR 之后rm apk卸载 貌似只能一次卸载一个
  • 聊聊运算放大器---施密特与迟滞比较器

    很多人把施密特触发器与迟滞比较器混为一谈 以为是一样的东西 其实不然 虽然二者都是带有2个门限的正反馈比较器 还是有具体区别的 1 施密特触发器可以买到专用的芯片 如74HC14 其门限电压UT UT 是固定值 注意均为正电压 2 迟滞触发
  • KubeSphere 社区双周报

    KubeSphere 从诞生的第一天起便秉持着开源 开放的理念 并且以社区的方式成长 如今 KubeSphere 已经成为全球最受欢迎的开源容器平台之一 这些都离不开社区小伙伴的共同努力 你们为 KubeSphere 提出了很多建设性意见
  • Vue基础之模板语法介绍

    目录 前言 一 插值 二 指令 三 过滤器 四 计算属性和监听属性 五 vue实现购物车案例 前言 上篇我分享了关于Vue的入门 简单的入了个门 本篇文章将要分享的内容为Vue的模板语法 一 插值 1 1 文本 1 2 html 1 3 属
  • 大数据基础——MySql篇

    MySql 什么是数据库 数据库 保存数据的仓库 他在电脑中是一个文件系统 然后把数据都保存在这些特殊的文件中 并且使用固定的语言 SQL语言 去操作文件中的数据 数据库就是按照数据结构来组织 存储和管理数据的建立在计算机存储设备上的仓库
  • 数据库面试

    数据库知识点 是否了解内存数据库 顾名思义就是将数据放在内存中直接操作的数据库 相对于磁盘 传统的数据库管理系统把所有数据都放在磁盘上进行管理 所以称做磁盘数据库 内存的数据读写速度要高出几个数量级 因此内存数据库的最大特点就是性能好 速度
  • 让CPU画出图形(其实很简单的)

    本例子是当初微软的一个题目 希望windows任务管理器的CPU的占有率 是一个正旋曲线 如果是你 你会如何解决这个问题呢 先上图吧 由于cpu要处理其他电脑程序 只能画出来大概的模样 其实我当时想这个问题时候 是不是考虑对cpu进行操作