微软面试题:设计程序让其CPU占用呈…
2014-05-07 14:51
495 查看
#!/usr/bin/perl
use strict;
use warnings;
use Win32;
use constant COUNT
=> 200;
use constant SPLIT
=> 0.01;
use constant PI
=> 3.14159265;
use constant INTERVAL => 300;
use constant TRUE
=> 1;
main();
sub main {
my @busySpan; # array of busy times
my @idleSpan; # array of idle times
my $half = INTERVAL / 2;
my $radian = 0.0;
my $i;
for ($i = 0; $i < COUNT; $i++) {
$busySpan[$i] = int(($half +
(sin(PI * $radian) * $half)));
$idleSpan[$i] = INTERVAL -
$busySpan[$i];
$radian += SPLIT;
}
my $startTime = 0;
my $j = 0;
while (TRUE) {
$j = int($j % COUNT);
$startTime =
Win32::GetTickCount();
while ((Win32::GetTickCount()
- $startTime) <= $busySpan[$j]) {};
Win32::Sleep($idleSpan[$j]);
$j++;
}
return 0;
}
来至:http://www.shineyouth.com/thread-240-1-1.html
use strict;
use warnings;
use Win32;
use constant COUNT
=> 200;
use constant SPLIT
=> 0.01;
use constant PI
=> 3.14159265;
use constant INTERVAL => 300;
use constant TRUE
=> 1;
main();
sub main {
my @busySpan; # array of busy times
my @idleSpan; # array of idle times
my $half = INTERVAL / 2;
my $radian = 0.0;
my $i;
for ($i = 0; $i < COUNT; $i++) {
$busySpan[$i] = int(($half +
(sin(PI * $radian) * $half)));
$idleSpan[$i] = INTERVAL -
$busySpan[$i];
$radian += SPLIT;
}
my $startTime = 0;
my $j = 0;
while (TRUE) {
$j = int($j % COUNT);
$startTime =
Win32::GetTickCount();
while ((Win32::GetTickCount()
- $startTime) <= $busySpan[$j]) {};
Win32::Sleep($idleSpan[$j]);
$j++;
}
return 0;
}
来至:http://www.shineyouth.com/thread-240-1-1.html
相关文章推荐
- java程序占用linux固定CPU比例
- 多线程程序占用CPU过多的问题
- linux中查找java程序 cpu占用高的代码位置。
- 江湖恩仇录之PHP程序CPU高占用优化经历分享
- 记一次JavaWeb程序的CPU占用过高的分析过程
- 分析java程序中占用CPU过高的线程
- 微软面试题:写程序找出二叉树的深度
- 设计一个魔方(六面)的程序 【微软面试100题 第四十四题】
- 一个小白问题,关于程序的CPU占用问题
- 线上java程序CPU占用过高问题排查
- 程序运行后占用CPU高的处理流程
- linux下java程序占用CPU和内存过高排错处理方案
- 【微软100面试题实现】第02题:设计包含min函数的栈
- 分析java程序中cpu占用过高的线程
- 设计一个魔方(六面)的程序 【微软面试100题 第四十四题】
- 记一次java程序CPU占用过高问题排查
- 多线程程序 怎样查看每个线程的cpu占用
- 面试题——设计一个程序:运行报错Stack Overflow Error
- Android开发中使用WebView后程序进入后台依旧占用CPU的解决
- C++面试题之程序设计其他问题面试题