gpt4 book ai didi

python - 使用多线程实现 CPU 效率最大化

转载 作者:太空宇宙 更新时间:2023-11-03 19:14:54 25 4
gpt4 key购买 nike

我目前正在使用 Python,我的程序如下所示:

function(1)
function(2)
...
function(100)

在 100% CPU 的情况下,执行一个函数大约需要 30 分钟,因此执行程序需要很长时间。这些函数访问同一文件进行输入,进行大量数学运算并打印结果。

引入多线程会减少程序完成所需的时间(我正在多核机器上工作)吗?如果是这样,我应该使用多少个线程?

谢谢!

最佳答案

这取决于。

如果这些函数根本没有相互依赖,您当然可以在单独的线程上运行它们(甚至使用多处理的进程,以避免全局解释器锁定)。您可以为每个核心运行一个进程,也可以运行 100 个进程,或者运行介于两者之间的任意数量,具体取决于系统的资源限制。 (如果您不拥有该系统,某些管理员不喜欢向进程表发送垃圾邮件的用户。)

如果这些函数必须一个接一个地运行,那么你就不能这样做。您必须重组程序以尝试隔离独立任务,或者接受可能存在 P 完全(本质上难以并行化)问题并继续前进。

关于python - 使用多线程实现 CPU 效率最大化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11673581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com