英文:
Number of cores for an executable in Python
问题
我正在使用这个可执行文件按顺序运行10个程序。我如何知道在运行程序时它是使用单个核心还是所有核心?
I=[i+1 for i in range(10)]
for i in I:
try:
exec(open(rf"C:\Users\All_combined_Test3.py").read())
except Exception as e:
print(f"脚本 {i} 中出现错误:{e}")
continue
英文:
I am using this executable to run 10 programs in sequence. How do I know if this uses a single core or all cores when running a program?
I=[i+1 for i in range(10)]
for i in I:
try:
exec(open(rf"C:\Users\All_combined_Test3.py").read())
except Exception as e:
print(f"Error in script {i}: {e}")
continue
答案1
得分: 1
- 基于你的代码,你只使用了1个核心。
- 在Python中没有使用多进程,只使用了1个核心。
- 你可以在你的代码中使用多进程,它可以使用CPU的所有核心。
- 如果你只需要10个核心,可以尝试使用 pool:
from multiprocessing import Pool
import os
with Pool(os.cpu_count()) as p:
pass #执行你的代码
英文:
- Base on your code, you just use 1 core.
- Only use 1 core without multiprocessing in Python.
- You can use multiprocessing in your code, it could use all cores of CPU.
- If you only need 10 cores, just try pool :
> from multiprocessing import Pool
> import os
> with Pool(os.cpu_count()) as p:
> pass #do your executable
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论