愚蠢的问题......
我想尝试多处理。
我想测试基本测试
for x in range(10):
p = Process(target=func, args=(100))
p.Daemon = True
p.start()
p.join()
我正在寻找一个需要几秒钟运行的func
函数,以便我可以查看基础知识是否有效。理想情况下,CPU也会很重,所以我可以使用htop
来解决它真正使用多个处理器的问题。
我尝试了阶乘
def func(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
但我不能做超过1000次的递归,这还不够长。
有任何关于运行的简单函数的想法,我可以使用它来进行简单的多处理器测试吗?
答案 0 :(得分:1)
您可以通过多种方式实现它......例如,您可以在循环中重复写入文件
import time
start = time.time()
for x in range (30000):
file = open("testfile.txt", "w")
file.write("Hello World" + str(x))
file.close()
end = time.time()
print(end - start)
此功能在我的机器中占用大约8秒。
如果您不必使用CPU,您可以在循环中休眠一秒钟。
import time
for i in range(5):
time.sleep(1)
另一种方法是测量时间过去并在所需的秒数后中断。此方法可使CPU保持忙碌状态,并且不会产生任何必须写入磁盘的副作用。
import time
start = time.time()
while True:
t = time.time() - start
if t > 5:
break