zoukankan      html  css  js  c++  java
  • 编程之美第一题,参考某同事的算法和文章

                Process p = Process.GetCurrentProcess();

                
    const double SPLIT = 0.01;
                
    const int COUNT = 200;
                
    const double PI = 3.14159265;
                
    const int INTERVAL = 100;

                
    double[] busySpan = new double[COUNT];  //array of busy times
                double[] idleSpan = new double[COUNT];  //array of idle times
                int half = INTERVAL / 2;

                
    double radian = 0.0;
                
    for (int i = 0; i < COUNT; i++)
                {
                    busySpan[i] 
    = (double)(half + (Math.Sin(PI * radian) * half));
                    idleSpan[i] 
    = INTERVAL - busySpan[i];
                    radian 
    += SPLIT;
                }

                
    double startTime = 0;
                
    int j = 0;

                
    while (true)
                {
                    j 
    = j % COUNT;

                    startTime 
    = Environment.TickCount;

                    p.ProcessorAffinity 
    = (IntPtr)0x0001;
                    
    while ((Environment.TickCount - startTime) <= busySpan[j]) ;

                    p.ProcessorAffinity 
    = (IntPtr)0x0002;
                    
    while ((Environment.TickCount - startTime) <= idleSpan[j]) ;

                    j
    ++;
                }
  • 相关阅读:
    springcloud-Ribbon之手写轮询算法
    springcloud-Ribbon负载均衡规则的替换
    git本地库和远程库的连接和断开
    本地项目第一次提交到码云或github
    python基础语法练习
    Xss-labs-level11-15
    Vulnhub-靶机-ESCALATE_LINUX: 1
    Xss-labs-level7-10
    Vulnhub-靶机-DC: 6
    Jenkins入门之执行Powershell脚本
  • 原文地址:https://www.cnblogs.com/Jax/p/1695295.html
Copyright © 2011-2022 走看看