########################################################################
## 编程之美1.1让cpu曲线听你指挥 ##
########################################################################
## 解法一:让cpu跑idle和busy两个不同的循环,控制时间比例,busy可用空循环,idle可
## 用sleep()
import time
def algorithm1():
while True:
#调整适当的n,运行时间也是0.01秒,这个n不对
for i in range(9600000):
pass
time.sleep(0.01)
def algorithm2():
busytime=0.02
idletime=0.01
while True:
startTime=time.time()
while time.time()-startTime<busytime:
print(time.time()-startTime)
time.sleep(idletime)
import math
def algorithm3():
count=200#抽样频率
busy=[0]*count
idle=[0]*count
for i in range(count):
busy[i]=(1+math.sin(math.pi*i*2/count))/count#0~2之间-》0~0.01之间
idle[i]=0.01-busy[i]
j=0
while True:
startTime=time.time()
j=j%200
while time.time()-startTime<busy[j]:
print(time.time()-startTime)
time.sleep(idle[j])
j=j+1
def test1_1():
#algorithm1()
#algorithm2()
algorithm3()