写一个程序,让用户来决定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]);
}
}
}
分享到:
相关推荐
2. GUI编程:使用MFC(Microsoft Foundation Classes)或其他图形库创建用户界面,展示CPU利用率曲线。 3. 动态链接库(DLL):CpuDll.dll可能封装了操作系统调用,提供了跨进程共享代码的能力。 总结,CpuUsage是...
在IT领域,尤其是在编程实践中,了解如何获取进程的CPU占有率是一项重要的技能。本文将深入探讨易语言(E语言)中实现这一功能的源码及原理,同时也会提及易语言的基础知识,以帮助初学者更好地理解。 易语言是中国...
2. **CPU使用率**:CPU使用率是指处理器在给定时间内的忙碌程度。系统通过性能计数器来监控这一指标,通常以百分比表示。高CPU使用率可能意味着程序运行繁重或存在资源争抢。 3. **性能计数器(Performance Counter...
本文实例讲述了Android编程实现获取系统内存、CPU使用率及状态栏高度的方法。分享给大家供大家参考,具体如下: DeviceInfoManage类用于获取系统的内存,CPU的信息,以及状态栏的高度 import java.io.BufferedReader...
本项目"VB实现CPU曲线"是使用VB来实时绘制并显示计算机CPU使用率的动态曲线图表。通过这样的可视化方式,用户可以直观地了解系统资源的使用情况,这对于系统监控和性能分析来说非常有用。 首先,我们要理解CPU使用...
### 编程之法:海量数据处理方法及STL容器应用 #### 一、海量数据处理概述 在当今数字化时代,随着数据量的急剧增长,如何有效地存储、处理和操作这些海量数据成为了一个重要的技术挑战。《编程之法:面试和算法...
总的来说,获取Android设备的CPU使用率和内存实时数据是Android系统编程中的重要技能。通过这些数据,开发者不仅可以了解应用的运行状况,还能进行性能调优,提高用户体验。在实现这些功能时,要确保遵循Android权限...
通过编程方式获取CPU使用率,可以帮助开发者了解程序运行时对系统资源的占用情况,从而优化程序性能。以下是一些关于如何使用VC++(MFC库)和其他相关工具来获取CPU使用率的知识点。 首先,VC++中的MFC库并没有直接...
本项目是利用Qt实现的一个功能,即实时显示CPU使用率,对于系统监控或者性能分析的软件来说,这是一个非常实用的功能。 首先,我们要理解如何在Qt中获取系统资源信息。在Qt库中,并没有直接提供获取CPU使用率的API...
这篇讨论主要聚焦于如何在Delphi编程环境中,通过访问Windows注册表来获取CPU的使用负荷,并进一步计算出CPU的占有率。虽然标签提及了"C#",但根据提供的文件"adCpuUsage.pas"来看,这里我们将探讨的是Delphi的实现...
3. **CPU使用率计算**:CPU使用率可以通过获取`Process.TotalProcessorTime`和`Process.UserProcessorTime`属性,并与系统时间进行比较来计算。这些值会随着时间增加,因此需要通过采样和差分计算得出瞬时使用率。 ...
从给定的信息来看,主要涉及的是《MATLAB之父 编程实践》这本书的中文版。下面将根据这些信息深入探讨MATLAB编程实践中的关键知识点。 ### MATLAB编程基础 MATLAB(Matrix Laboratory)是一种用于算法开发、数据...
在C#编程中,了解如何获取系统和特定进程的CPU及内存占用率是十分重要的,尤其是在进行性能监控或资源管理的场景下。本篇将详细解释如何实现这一功能,并提供相应的代码示例。 首先,我们要关注的是操作系统级别的...
《C++高效编程:内存与性能优化》是一本专注于C++编程语言内存管理和性能调优的书籍。本书深入探讨了如何在C++编程中高效地使用内存资源,以及如何进行性能优化,以编写出既高效又优雅的代码。 书籍作者Rene ...
在VC++环境中,获取指定进程的CPU占用率和内存使用量是常见的系统监控任务,尤其在开发性能分析或系统管理工具时。VS2008提供了丰富的库和API调用来实现这一功能。以下是对这个话题的详细阐述: 首先,我们需要了解...
【易语言纯画板CPU监测】是一个基于易语言开发的程序,主要用于实时监控计算机的CPU使用情况,并通过画板技术动态展示数据曲线图。这个程序的核心功能是获取系统资源信息,特别是CPU的负载数据,然后利用易语言的...
在本项目中,我们主要探讨了两个核心主题:一是...以上就是关于“函数图像生成器&利用CPU画曲线”项目的关键知识点,它们涵盖了从用户交互、数学计算到图形渲染的多个层面,体现了编程、算法和计算机图形学的综合运用。
**CPU占用率概念**:CPU占用率是指在一定时间内CPU用于执行任务的时间与总时间的比例。在Windows任务管理器中,该值通常反映的是每秒内CPU的平均占用情况。例如,当某个应用程序在一秒内占用CPU执行了50%的时间,则...
总的来说,掌握皮尔逊三型曲线的MATLAB编程,不仅能够帮助你深入理解这种统计分布的特性,还能提升你在数据分析项目中的实践能力。通过不断地学习和实践,你将能够更熟练地运用统计学工具解决实际问题。