打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
写程序 控制cpu占用率-4 绘制CPU使用率的正弦曲线2 通过C#指定线程运行的 CPU
460人阅读 评论(0) 收藏 举报

http://blog.csdn.net/weixingstudio/article/details/6870748 连接中的写了通过C#控制CPU的占用率。

 

通过C#还可以指定当前线程的运行在哪个CPU上。

 

通过


 

Process.ProcessorAffinity 设置当前CPU的屏蔽字,0x0001表示选用一号CPU,0x0002表示选用2号CPU。

 

代码如下:

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5. using System.Diagnostics;  
  6.   
  7. namespace cpu_4_2_csharp  
  8. {  
  9.     class Program  
  10.     {  
  11.         static void Main(string[] args)  
  12.         {  
  13.             System.Diagnostics.Process p = Process.GetCurrentProcess();  
  14.             p.ProcessorAffinity = (IntPtr)0x0001;  
  15.   
  16.             const int SAMPLING_COUNT = 200;  
  17.             const double PI = 3.14159;  
  18.             const int TOTAL_AMPLITUDE = 250; // the length of each time piece  
  19.             //const int system_busy = 10; // take the system cpu consume into consideration  
  20.   
  21.             double[] busySpan=new double[SAMPLING_COUNT];  
  22.             int amplitude = (TOTAL_AMPLITUDE) / 2;  
  23.             double radian = 0.0;  
  24.             double radianIncreament = 2.0 / (double)SAMPLING_COUNT;  
  25.   
  26.             for (int i = 0; i < SAMPLING_COUNT; i++)  
  27.             {  
  28.                 busySpan[i] = (double)(amplitude + Math.Sin(PI * radian) * amplitude);  
  29.                 radian += radianIncreament;  
  30.             }  
  31.   
  32.             int startTick = Environment.TickCount;  
  33.   
  34.             for (int j = 0; ; j = (j + 1) % SAMPLING_COUNT)  
  35.             {  
  36.                 startTick = Environment.TickCount;  
  37.                 while ((Environment.TickCount - startTick) < busySpan[j])  
  38.                 {  
  39.                     //  
  40.                 }  
  41.                 System.Threading.Thread.Sleep(TOTAL_AMPLITUDE - (int)busySpan[j]);  
  42.             }  
  43.         }  
  44.     }  
  45. }  


程序的运行结果如图:

 

可以通过调整参数使曲线更加圆润一些,但是我调试了好久,也就得到了上面的截图。不过整体来说,这个曲线图要比http://blog.csdn.net/weixingstudio/article/details/6870748中的曲线图好看的多了

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
1.1
编程之美,JAVA控制CPU的使用率(2),完美曲线
编程之美 1.1 让cpu占用率曲线听你指挥(多核处理器)
让cpu占用率曲线听你指挥学习笔记
经纬度计算距离C语言实现
Flutter 弧度与角度之间的换算
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服