`
逆风的香1314
  • 浏览: 1438385 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

编程之美,JAVA控制CPU的使用率(2),完美曲线

阅读更多

中午抽个时间,把代码完成了,从效果看,不算很完美,不过我已经很满足了。

 

  1. /**
  2.  * 编程之美,JAVA控制CPU的使用率(2),完美曲线
  3.  * 
  4.  * @author 赵学庆,Java世纪网(java2000.net)
  5.  * 
  6.  */
  7. public class T {
  8.   public static void main(String[] args) throws Exception {
  9.     // 角度的分割
  10.     final double SPLIT = 0.01;
  11.     //
  12.     // 2PI分割的次数,也就是2/0.01个,正好是一周
  13.     final int COUNT = (int) (2 / SPLIT);
  14.     final double PI = Math.PI;
  15.     // 时间间隔
  16.     final int INTERVAL = 200;
  17.     long[] busySpan = new long[COUNT];
  18.     long[] idleSpan = new long[COUNT];
  19.     int half = INTERVAL / 2;
  20.     double radian = 0.0;
  21.     for (int i = 0; i < COUNT; i++) {
  22.       busySpan[i] = (long) (half + (Math.sin(PI * radian) * half));
  23.       idleSpan[i] = INTERVAL - busySpan[i];
  24.       radian += SPLIT;
  25.     }
  26.     long startTime = 0;
  27.     int j = 0;
  28.     while (true) {
  29.       j = j % COUNT;
  30.       startTime = System.currentTimeMillis();
  31.       while (System.currentTimeMillis() - startTime < busySpan[j])
  32.         ;
  33.       Thread.sleep(idleSpan[j]);
  34.       j++;
  35.     }
  36.   }
  37. }

下一个题目是啥呢?

我先去看看原版的资料再说吧,这个周末肯定能出来几个,呵呵。这个纯粹是算法的研究,收获不小。


顺便提供一个能够检测CPU使用率的JNI程序,我测试了,可以用。有兴趣的可以看看

JAVA通过JNI获得CPU的使用率(Usage Rate)





分享到:
评论

相关推荐

    VC获取CPU使用率

    通过编程方式获取CPU使用率,可以帮助开发者了解程序运行时对系统资源的占用情况,从而优化程序性能。以下是一些关于如何使用VC++(MFC库)和其他相关工具来获取CPU使用率的知识点。 首先,VC++中的MFC库并没有直接...

    Android编程实现获取系统内存、CPU使用率及状态栏高度的方法示例

    本文实例讲述了Android编程实现获取系统内存、CPU使用率及状态栏高度的方法。分享给大家供大家参考,具体如下: DeviceInfoManage类用于获取系统的内存,CPU的信息,以及状态栏的高度 import java.io.BufferedReader...

    android 获取cpu使用率, 内存 实时数据

    总的来说,获取Android设备的CPU使用率和内存实时数据是Android系统编程中的重要技能。通过这些数据,开发者不仅可以了解应用的运行状况,还能进行性能调优,提高用户体验。在实现这些功能时,要确保遵循Android权限...

    CpuUsage(显示cpu利用动态曲线图)

    2. GUI编程:使用MFC(Microsoft Foundation Classes)或其他图形库创建用户界面,展示CPU利用率曲线。 3. 动态链接库(DLL):CpuDll.dll可能封装了操作系统调用,提供了跨进程共享代码的能力。 总结,CpuUsage是...

    c++获取cpu使用率(包含系统和单进程)

    在C++编程中,获取CPU使用率是一项常见的需求,无论是为了监控系统性能,还是分析某个特定进程的资源消耗。本文将详细讲解如何使用C++来获取系统整体的CPU使用率以及单个进程的CPU使用率。 首先,我们需要理解CPU...

    Qt实现的实时显示CPU使用率

    本项目是利用Qt实现的一个功能,即实时显示CPU使用率,对于系统监控或者性能分析的软件来说,这是一个非常实用的功能。 首先,我们要理解如何在Qt中获取系统资源信息。在Qt库中,并没有直接提供获取CPU使用率的API...

    c#Cpu正玄曲线

    在C#编程中,模拟CPU使用率以呈现正弦曲线是一项技术挑战,它涉及到多线程、性能计数器以及对计算机系统资源的控制。这个项目可能是为了测试系统的响应能力或者进行性能分析。下面我们将详细探讨相关的知识点。 1. ...

    VB实现CPU曲线

    2. **数据存储与处理**:程序需要保存过去一段时间内的CPU使用率数据,以形成曲线。这可能通过数组或列表来实现,每间隔一定时间添加新的CPU使用率值。 3. **计算曲线**:根据存储的数据,计算出曲线的路径。这通常...

    JAVA并发编程艺术 高清pdf

    JAVA并发编程艺术 高清pdf : 1.并发变成的挑战 2. java并发机制的底层实现原理 3. java 内存模型 4. java并发编程基础 5.java中的锁。。。。。。。

    Java网络编程第三版.pdf

    2. **I/O与NIO**:Java的I/O流系统是网络编程的基础,包括字节流、字符流、对象流等。此外,非阻塞I/O(NIO)的引入为高性能网络应用提供了可能,如Selector和Channel的概念。 3. **多线程与并发**:在网络编程中,...

    《java 并发编程实战高清PDF版》

    在Java并发编程中,多线程是核心概念之一。多线程允许程序同时执行多个任务,从而充分利用系统资源,提高程序性能。然而,多线程编程也带来了同步和竞态条件等问题,这需要开发者具备良好的线程管理和同步机制的知识...

    面向对象编程C++和Java比较教程 中英文完整版 pdf

    面向对象编程(Object-Oriented ...C++更适合需要底层控制和高效性能的场景,而Java则在跨平台应用和企业级开发中占据主导地位。本教程的中英文完整版将详细阐述这些差异,帮助学习者根据实际需求选择合适的编程语言。

    曲线拟合计算(java实现)

    总的来说,这个项目展示了如何利用Java进行曲线和直线拟合,涉及到的知识点包括:Java编程基础、数值分析中的最小二乘法、多项式拟合、线性代数中的矩阵运算以及相关的第三方库的使用。对于学习和理解这些概念,这个...

    Java编写的用最小二乘拟合曲线(带图形)

    在Java编程环境中,最小二乘法是一种常用的曲线拟合技术,用于找到一组数据点的最佳直线或曲线近似。本项目提供了实现这一算法的代码,并且包含图形化展示,使得数据拟合过程更加直观。以下是对相关知识点的详细解释...

    java曲线绘制程序工程

    为了使用这个Java曲线绘制程序工程,你需要具备一定的Java编程基础,了解图形库如JavaFX或AWT,以及基本的几何和代数知识。工程中的源代码会展示如何将数学公式转化为实际的图形绘制操作,这对于理解图形学原理和...

    高质量java编程

    2. **面向对象编程**:Java是一种面向对象的语言,书中重点讲解了类、对象、封装、继承、多态等概念,帮助读者理解和运用面向对象的设计原则和模式。 3. **异常处理**:Java的异常处理机制是其强项之一,书中详细...

    Java游戏编程

    Java游戏编程是一个涵盖广泛的主题,它涉及到使用Java编程语言来创建各种类型的游戏,从简单的2D小游戏到复杂的3D大作。在这个领域中,开发者需要掌握基础的编程概念,以及特定于游戏开发的技术。 首先,Java是一种...

    java常见的面试编程题

    Java是一种广泛使用的面向对象的编程语言,其设计目标是具有高度的可移植性、健壮性和安全性。在Java面试中,编程题是评估候选人技术能力的重要环节。本压缩包文件包含了一系列常见的Java编程题目,旨在帮助学习者...

    SignalR+Chart.js+TypeScript整合开发CPU使用率实时图表

    2. **设置SignalR Hub**:在项目中创建一个SignalR Hub类,用于接收CPU使用率数据并广播到所有连接的客户端。Hub类可以有一个方法,例如`SendCpuUsage`,接收CPU使用率数据并调用`Clients.All.SendAsync`方法将数据...

    java编程百例(内含java源文件)

    Java编程是计算机科学领域的重要部分,尤其对于初学者而言,它是理解对象导向编程概念的关键语言。这个名为"java编程百例(内含java源文件)"的资源集合为学习者提供了一个丰富的实践平台,涵盖了从基础到进阶的多个...

Global site tag (gtag.js) - Google Analytics