写一个程序,让用户来决定Windows任务管理器(Task Manager)的CPU占有率。程序越精简越好,可以实现以下三种情况:
/****
*
* 1. JAVA控制CPU的占有率 - 固定在50%,为一条直线
*
****/
public class CPUTest1 {
public static void main(String[] args) throws Exception{
for (;;) {
for (int i = 0; i < 96000000; i++) {
;
}
Thread.sleep(10);
}
}
}
/****
*
* 2. JAVA控制CPU的占有率 - 控制在50%
*
****/
public class CPUTest2 {
static int busyTime = 10;
static int idelTime = busyTime; // 50%的占有率
public static void main(String[] args) throws Exception {
long startTime = 0;
while (true) {
startTime = System.currentTimeMillis();
while (System.currentTimeMillis() - startTime < busyTime) {
;
}
Thread.sleep(idelTime);
}
}
}
/****
* 3. JAVA控制CPU的使用率 - 完美曲线
*
* 把一条正弦曲线0~2π之间的弧度等分成200份进行抽样,计算每个抽样点的数据
* 然后每隔300ms的时间取下一个抽样点,并让cpu工作对应振幅的时间
*
****/
public class CPUTest3 {
public static final int SAMPLING_COUNT = 200; // 抽样点数量 2/RANDIAN_INCREMENT
public static final double PI = Math.PI; // pi值
public static final double RANDIAN_INCREMENT = 0.01; // 抽样弧度的增量, 2/SAMPLING_COUNT
public static final int TOTAL_AMPLITUDE = 300; // 振幅, 每个抽样点对应的时间片
public static void main(String[] args) throws Exception {// 角度的分割
long[] busySpan = new long[SAMPLING_COUNT];
long[] idleSpan = new long[SAMPLING_COUNT];
int amplitude = TOTAL_AMPLITUDE / 2;
double radian = 0.0;
for (int i = 0; i < SAMPLING_COUNT; i++) {
busySpan[i] = (long) (amplitude + (Math.sin(PI * radian) * amplitude));
radian += RANDIAN_INCREMENT;
}
long startTime = 0;
for (int j = 0;; j = (j + 1) % SAMPLING_COUNT) {
startTime = System.currentTimeMillis();
while (System.currentTimeMillis() - startTime < busySpan[j]) {
;
}
Thread.sleep(idleSpan[j]);
}
}
}
分享到:
相关推荐
编程之美:让CPU占用率曲线听你指挥,C++代码实现
让CPU占用率曲线听你指挥 《编程之美——微软技术面试心得》节选.pdf
本讲演简单回顾处理器发展历程,通过介绍不同时期编程模型的发展,深入分析CPU+GPU混合编程与传统CPU编程的异同,介绍异构计算环境下编程的语言、工具和方法。
编程之魂:与27位编程语言创始人对话。以问答方式告诉为什么要创建某种编程语言、它在技术上如何开发、如何教授和学习,以及它如何顺应时代发展等。是27位杰出的设计师与你分享他们的智慧和经验。
本文实例讲述了Android编程实现获取系统内存、CPU使用率及状态栏高度的方法。分享给大家供大家参考,具体如下: DeviceInfoManage类用于获取系统的内存,CPU的信息,以及状态栏的高度 import java.io.BufferedReader...
编程之法:面试和算法心得.pdf
C#获取电脑cpu占有率,硬盘的使用率等的catername、instancname程序,用visual studio 2008编程的
通过编程使任务管理器中的cpu使用率曲线变成正弦曲线,或者一条直线
July 最新巨著 编程之法:面试和算法心得-样章.pdf 简介 本书涉及面试、算法、机器学习三个主题。书中的每道编程题目都给出了多种思路、多种解法,不断优化、逐层递进。本书第1章至第6章分别阐述字符串、数组、树、...
此代码是拙文《.net网络编程之一:Socket编程》一文的代码,如果大家对代码有不明白的地方,可以到http://blog.csdn.net/zhoufoxcn/archive/2009/03/18/4000301.aspx查看原文。
UNIX网络编程卷1:套接字联网API(第3版).pdf
商业编程-源码-获取CPU使用率.zip
飞天诚信软件加密论坛之五:CPU、操作系统与编程语言.pdf
易语言趣味编程之任务管理器画正弦曲线源码,趣味编程之任务管理器画正弦曲线,设置CPU利用率
VC获取CPU使用率,在网上找了很多源代码。
(三)《汇编语言(王爽)》 _ 实验 1:查看 CPU 和内存,用机器指令和汇编指令编程_Skies_的博客-CSDN博客.html
VB之文件处理精彩编程-从注册表获得CPU利用率 (4KB)
WPF编程宝典:使用C# 2012和.NET 4.5 第4版 ;高清扫描PDF与源码 打包一起的
C++高效编程:内存与性能优化(pdf版),深入C++经典好书!