`
逆风的香1314
  • 浏览: 1453206 次
  • 性别: 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)





分享到:
评论

相关推荐

    java 绘制CPU使用率图形 源代码

    在Java编程语言中,开发一个绘制CPU使用率图形的程序是一项技术挑战,它涉及到系统监控、图形用户界面(GUI)以及实时数据处理等多方面的知识。这个程序的主要目的是模拟任务管理器的部分功能,显示计算机的CPU使用...

    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. **计算曲线**:根据存储的数据,计算出曲线的路径。这通常...

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

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

    java网络编程第四版pdf

    《Java网络编程(第四版)》是一本深入探讨Java在互联网环境下的编程技术的经典书籍。本书旨在帮助读者理解和掌握如何利用Java语言进行高效、安全的网络通信。书中内容覆盖了从基本的网络概念到复杂的多线程编程,是...

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

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

    Java完美编程(第3版).pdf

    《Java完美编程(第3版)》,英文名《Absolute Java (3rd Edition)》,英文版出版社:Addison Wesley,作者:【美】Walter Savitch。本书是为 PDF 格式,按照章节分为不同的 19 个部分,总大小 17 MB。 内容简介:  ...

    曲线拟合计算(java实现)

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

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

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

    java曲线绘制程序工程

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

    Java游戏编程

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

    北理工操作系统一、CPU占用率控制实验报告.doc

    通过这个实验,学生不仅可以掌握CPU占用率的概念,还能学习到如何在实际编程中实现对CPU占用率的控制,这对于理解和优化操作系统性能有着重要的意义。同时,实验也提醒我们,多核环境下的CPU占用率控制会更为复杂,...

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

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

    (PDF带目录)《Java 并发编程实战》,java并发实战,并发

    《Java 并发编程实战》是一本专注于Java并发编程的权威指南,对于任何希望深入了解Java多线程和并发控制机制的开发者来说,都是不可或缺的参考资料。这本书深入浅出地介绍了如何在Java环境中有效地管理和控制并发...

Global site tag (gtag.js) - Google Analytics