学科前沿技术(让用户来决定Windows任务管理器的CPU占用率)
来源:互联网 发布:建筑设计院软件 编辑:程序博客网 时间:2024/04/30 03:03
题目:写一个程序,让用户来决定Windows任务管理器(Task Manager)的CPU占用率。程序越精简越好,计算机语言不限。例如,可以实现下面三种情况:
1.
2.
3.
完整代码如下:
#include<windows.h>
#include<cstdio>
#include<cmath>
constint PERIOD = 60* 1000; //60,000 ms
constint COUNT = 200;
constdouble PI = 3.1415926535898;
constdouble GAP = ( double)PERIOD / COUNT;
constdouble FACTOR = 2* PI / PERIOD;
typedef double Func( double);
inlineDWORD get_time() { returnGetTickCount(); }
doublecalc2( doublex) { return( 1 +sin(FACTOR *x)) / 2;}
doublecalc3( double)
{
static doublecache[COUNT];
static intcount = 0;
static boolfirst = true;
if (first) {
doublex = 0.0;
for( int i = 0;i <COUNT; ++i,x +=GAP)
cache[i] =( 1.0 +sin(FACTOR *x)) / 2.0;
first = false;
}
if (count >=COUNT) count = 0;
returncache[count ++];
}
doublecalc4( double) { return0.8;}
voidsolve(Func *calc)
{
doubletb = 0;
while(1) {
unsigned ta =get_time();
doubler =calc(tb);
if(r < 0|| r > 1)r = 1;
DWORD busy =r *GAP;
while(get_time() - ta < busy) {}
Sleep(GAP -busy);
tb +=GAP;
}
}
voidrun()
{
Func *func[] = {calc2, calc3, calc4 } ;
Func *calc = func[ 1];
const intMAX_CPUS = 32;
HANDLE handle[MAX_CPUS];
DWORD thread_id[MAX_CPUS];
SYSTEM_INFO info;
GetSystemInfo( &info);
const intnum =info.dwNumberOfProcessors;
for( int i = 0;i <num; ++i) {
if( (handle[i] =CreateThread(NULL, 0,(LPTHREAD_START_ROUTINE)solve,
(VOID *)calc, 0, &thread_id[i])) != NULL)
SetThreadAffinityMask(handle[i], i +1);
}
WaitForSingleObject(handle[ 0],INFINITE);
}
intmain()
{
run();
}
#include<cstdio>
#include<cmath>
const
const
const
const
typedef
inline
double
double
{
}
double
void
{
}
void
}
int
}
- 学科前沿技术(让用户来决定Windows任务管理器的CPU占用率)
- 写程序让用户来决定Windows任务管理器的CPU占有率
- 让用户决定CPU占用率
- 怎样让Windows任务管理器CPU占用率呈现正玄曲线(C#实现)
- 学科前沿技术(图灵奖,其近两年来的获得者)
- 学科前沿技术(amdahl定律对多核的影响)
- 让任务管理器中的CPU跳舞
- 学科前沿技术(硬件发展史及其趋势)
- 学科前沿技术(高性能计算机)
- 学科前沿技术(top500,green500,graph500)
- 学科前沿技术(未来操作系统发展趋势)
- 学科前沿技术(了解开源化)
- Windows的任务管理器
- windows平台进程CPU占用率的计算
- windows平台进程CPU占用率的计算
- windows平台进程CPU占用率的计算
- Windows CPU占用率过高
- 多cpu(多核)下让cpu占用率成正弦曲线
- Bubble(16)
- NSNotification的用法
- 1889_Ones(同余)
- 腾讯2012实习生笔试题2+答案解析
- Tortoise SVN安装
- 学科前沿技术(让用户来决定Windows任务管理器的CPU占用率)
- MFC消息映射机制
- 手贱-写链表玩玩
- oracle 两字段重复
- python中的os.path模块用法(一)
- COM技术初探
- 05 dispatcher redirect chain redirectAction的使用
- 对v$session_longops 的理解
- COM线程模型